簡體   English   中英

Kubernetes NodePort 服務超時

[英]Kubernetes NodePort service time out

我正在嘗試在 kubernetes 中部署一個 pod 並將服務鏈接到它,以便我可以通過網絡瀏覽器訪問它。

pod 規格如下:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: visualizer-nautic
  labels:
    app: visualizer
spec:
  replicas: 1
  selector:
    matchLabels:
      app: visualizer
  template:
    metadata:
      annotations:
        k8s.v1.cni.cncf.io/networks: zenoh-network
      labels:
        app: visualizer
    spec:
      containers:
      - name: api
        image: hielito/visualizer:latest
        ports:
          - containerPort: 8100

它部署了一個 Web 應用程序,它的前端暴露在端口 8100 上,因此我添加了一個 NodePort 服務以使其在我的網絡中可見:

apiVersion: v1
kind: Service
metadata:
  name: visualizer-service
spec:
  type: NodePort
  selector:
    app: visualizer
  ports:
    - port: 8100
      targetPort: 8100
      nodePort: 30012

部署此服務后,我嘗試訪問 localhost:30012,但 Web 瀏覽器卡在加載過程中並最終拋出超時錯誤。

如果有人想知道,部署的應用程序工作正常,如果我執行端口轉發( microk8s kubectl port-forward pods/visualizer-nautic-77957b94c9-mww6p 8100:8100 )然后我可以訪問在 localhost:8100 完美運行的應用程序.

編輯:我忘了補充一點,我正在使用 multus CNI 附加組件並將 MACVLAN 網絡接口添加到 pod。 當我刪除額外的 CNI 時,它再次正常工作,因此 MACVLAN 網絡可能會干擾該服務。

節點端口位於您的 kubernetes 節點上。 從您的本地機器訪問將無法工作。 使用 http://masternodeipaddress:nodeport。

您可以在本地主機文件中添加主機條目,例如:

masternodeipaddress mytestdomain.local

然后訪問http://mytestdomain.local:nodeport

暫無
暫無

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

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