Kubernetes 中的网络

Networking in Kubernetes

我是 Kubernetes 的新手,我很难理解的是我传递给命令 kubeadm init --apiserver-advertise-address=$ip 的网络地址,如果我有两个网络 a public 和私人的。如果我添加私有的,我就无法连接到代理,尽管我觉得如果我添加 public 一个 kubernetes 本身就会暴露,并且是一个有问题的安全解决方案。不仅如此,我似乎也无法向 public 地址公开服务。

我确实尝试通过 SSH 隧道连接到代理,它有效,但 Kubernetes 仪表板似乎给我一个上下文错误。

我基本上希望节点到节点在专用网络上进行通信。

提前感谢您的任何建议。 杰米

--apiserver-advertise-address 是用于向集群成员通告 apiserver 的 IP 地址。集群的其余部分必须可以访问此地址。默认情况下,它是您所在 运行 kubeadm init 主节点的私有 IP。此外,它可以是 L4 负载均衡器 IP 地址,如果您的 apiserver 在负载均衡器后面(通常发生在 mutli master 设置中)

您谈到的另一件事是 node to node kubernetes 集群内部的通信,这是通过 CNI 网络进行的。有多个 CNI 网络可供选择,我推荐 weavecalico 都非常稳定。

为了更好地理解您可以阅读:

https://chrislovecnm.com/kubernetes/cni/choosing-a-cni-provider/

要开始创建集群,没有比 kubernetes 官方文档更好的了:

https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/

希望对您有所帮助。