簡體   English   中英

如何在瀏覽器中訪問Kubernetes NodePort服務?

[英]How to access Kubernetes NodePort service in browser?

我已經在Kubernetes中為詹金斯創建了一個部署。 該pod運行正常,我已經在service-ip:8080上創建了一個用於訪問jenkins的服務,但它似乎無法正常工作。 當我在服務上方創建ingress ,可以使用公共ip訪問它。

kind: Service
apiVersion: v1
metadata:
  name: jenkins-ui
  namespace: jenkins
spec:
  type: NodePort
  selector:
    app: jenkins
  ports:
    - protocol: TCP
      port: 8080
      targetPort: 8080
      name: ui

我如上所述創建了我的服務:

$ kubectl get svc --namespace=jenkins

NAME               TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
jenkins-ui         NodePort    10.47.xx.xx     <none>        8080:30960/TCP   1d

我嘗試訪問: 10.47.xx.xx:8080但無法訪問jenkins UI。 我究竟做錯了什么? 我也嘗試了10.47.xx.xx:30960

我想使用服務訪問我的jenkins UI,但是我想在集群中將其保持私有狀態。 (女主角將其公開)。

更新:

$ kubectl describe svc jenkins-ui --namespace jenkins
Name:                     jenkins-ui
Namespace:                jenkins
Labels:                   <none>
Annotations:              <none>
Selector:                 app=jenkins
Type:                     NodePort
IP:                       10.47.xx.xx    Port:                     ui  8080/TCP
TargetPort:               8080/TCP
NodePort:                 ui  30960/TCP
Endpoints:                10.44.10.xx:8080
Session Affinity:         None
External Traffic Policy:  Cluster
Events:                   <none>

訪問10.44.10.xx:8080上的Pod也不起作用。

如果我理解正確,您希望集群中運行的任何容器都能夠訪問您的jenkins服務,但是您不希望在集群外部通過諸如瀏覽器之類的東西來訪問jenkins服務嗎?

在這種情況下:

curl http://jenkins-ui.default:8080
curl http://10.47.10.xx:8080

kubernetes集群中的任何容器內部都可以正常工作。

另外,您不能從群集外部訪問它10.47.10.xx:8080 ,因為該IP僅在kubernetes群集內部有效/可用。

如果要從群集外部訪問它,請使用入口控制器或在http://<node-ip>: 30960進行連接http://<node-ip>: 30960是連接到jenkins-ui k8s服務以及其后的pod的唯一方法。

編輯:使用kubectl端口轉發

在開發模式下,如果要訪問內部運行的容器,可以使用kubectl port-forward

kubectl port-forward <jenkins-ui-pod> 9090:8080

這樣, http://localhost:9090將顯示jenkins-ui屏幕,因為您具有kubectl訪問權限。

kubectl port-forward不適用於服務: https : //github.com/kubernetes/kubernetes/issues/15180

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM