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