我从带有公共IP的某些云服务中获取了Ubuntu VM,并尝试这样做
kubeadm init --apiserver-advertise-address=<public ip>
但它总是失败,并显示以下错误:-
Unfortunately, an error has occurred: timed out waiting for the condition
此错误可能是由于: -kubelet没有运行 -由于节点的某种方式错误配置(必需的cgroup禁用),因此kubelet不健康
但是,如果我通过VM的专用IP进行尝试,它可以正常工作。 有人知道为什么会这样吗? 或使用公共IP设置集群的任何想法。
答案 0 :(得分:0)
kube-apiserver
配置有hostNetwork: true
,表示它使用节点网络系统。
通常在VM的界面上未配置Cloud VM PublicIP,因此您不能将其用于apiserver-advertise-address=
。 kubelet
不能将kube-apiserver
进程绑定到不存在的本地接口。仅当您指定IP地址(在主节点的节点VM接口上配置且可从工作节点访问)的IP地址时,它才能正常工作。