Kubernetes 如何向 pod 公开主机节点上的端口?

Kubernetes 如何向 pod 公开主机节点上的端口?

我们刚刚开始使用 k8s。我们需要做的一件事是将每个裸机 Ubuntu 20.04 主机节点上运行的服务公开给 k8s 中的 pod。该服务正在监听节点的真实 IP 以及端口 8500 上的本地主机。有没有简单的方法可以做到这一点?

我可以使用其 IP 从 pod 内部访问节点上的端口 80 和 443,但不能访问 8500。

答案1

正如@David Tinker 在评论中提到的,问题已解决。

来自同一主机上的 k8s pod 内部的连接将被我们的防火墙规则阻止。

因此,解决方案隐藏在 iptables 中:

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

相关内容