Kubernetes具有两个网络接口的Internet访问

时间:2019-02-16 10:51:38

标签: kubernetes containers

我是kubernetes的新手,我对kubernetes网络有疑问。 在我的设置中,每个节点都有两个接口。第一个接口(eth0)在私有范围内(例如172.20.12.10),第二个接口具有公共地址。

auto eth0 
iface eth0 inet static
    address 172.20.12.10
    netmask 255.255.0.0
    network 172.20.0.0
    broadcast 172.16.255.255
    dns-nameservers 8.8.8.8
auto eth1
iface eth1 inet static
address x.x.x.x
gateway y.y.y.y 

显然,kubernetes的网络配置取决于节点默认网关,因此上述节点网络配置无法正常工作。

我的问题是:如何在我的容器中访问互联网?

1 个答案:

答案 0 :(得分:1)

--apiserver-advertise-address的{​​{1}}参数可用于使k8使用与节点的默认网络接口不同的接口:

kubeadm init

还要在--apiserver-advertise-address string The IP address the API Server will advertise it's listening on. Specify '0.0.0.0' to use the address of the default network interface. 上添加一个标志,以指定工作节点的私有IP:

/etc/systemd/system/kubelet.service.d/10-kubeadm.conf

最后,当您在工作节点上运行--node-ip=<private-node-ip> 时,请确保提供API服务器的专用IP。

更多信息位于: