将Kubelet,Kube-proxy等限制为特定的网络接口

时间:2020-01-02 20:17:51

标签: kubernetes cni

我有一个包含3个系统(A,B,C)的CentOS实验室环境。每个系统都有4个网络链接:

  • eth0是1g,我的公共管理接口(VLAN10)
  • eth1是10g我的iscsi接口(VLAN172)
  • eth2是10g可用于kubernetes(VLAN192:192.168.1.x)
  • eth3是10g可用于kubernetes(VLAN192:192.168.2.x)

eth2和eth3没有绑定或处于彼此了解的任何配置中。它们都在同一个VLAN中,您可以在任何给定系统中从eth2 ping到eth3。

我想将Kubernetes设置为使用eth2和eth3进行所有工作。特别是,我想让流量保持在较慢的1g网络和用于iscsi的接口之外。所有kubernetes位(控制平面,数据平面,应用程序等)都在eth2和eth3上运行。

我可能会想在eth0上打开一个用于消费的特定服务(普罗米修斯指标)。

特定配置:

系统A:

  • eth0是我的公共管理接口(VLAN10:10.10.10.1)
  • eth1是我的iscsi接口(VLAN172:172.16.0.1)
  • eth2可用于kubernetes(VLAN192:192.168.1.1)
  • eth3可用于kubernetes(VLAN192:192.168.2.1)

系统B:

  • eth0是我的公共管理接口(VLAN10:10.10.10.2)
  • eth1是我的iscsi接口(VLAN172:172.16.0.2)
  • eth2可用于kubernetes(VLAN192:192.168.1.2)
  • eth3可用于kubernetes(VLAN192:192.168.2.2)

系统C:

  • eth0是我的公共管理接口(VLAN10:10.10.10.3)
  • eth1是我的iscsi接口(VLAN172:172.16.0.3)
  • eth2可用于kubernetes(VLAN192:192.168.1.3)
  • eth3可用于kubernetes(VLAN192:192.168.2.3)

使用kubeadm init的默认设置似乎使用了所有接口。

我似乎找不到任何文档来指导我....

1 个答案:

答案 0 :(得分:2)

https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-init/

中的文档中已提到

使用标志--apiserver-advertise-address

kubeadm init --apiserver-advertise-address 192.168.1.1