我是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的网络配置取决于节点默认网关,因此上述节点网络配置无法正常工作。
我的问题是:如何在我的容器中访问互联网?
答案 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。
更多信息位于: