Kubernetes

Kubernetes 如何將主機節點上的埠暴露給 pod?

  • May 27, 2021

我們才剛剛開始使用 k8s。我們需要做的一件事是將在每個裸機 Ubuntu 20.04 主機節點上執行的服務公開給 k8s 中的 pod。該服務正在偵聽節點的真實 IP 以及埠 8500 上的 localhost。有沒有簡單的方法可以做到這一點?

我可以使用其 IP 從 Pod 內部訪問節點上的埠 80 和 443,但不能訪問 8500。

正如評論中提到的@David Tinker,問題已經解決。

來自同一主機上的 k8s pod 內部的連接會被我們的防火牆規則阻止。

因此,解決方案隱藏在 iptables 中:

iptables -A INPUT -p tcp --dport 8500 -j ACCEPT
iptables -A INPUT -i cni0 -j ACCEPT

引用自:https://serverfault.com/questions/1064556