我正在尝试在AWS上设置kubernetes集群。 我安装了docker,kubelet,kubectl和kubeadm。
我创建了3个EC2实例,并将弹性IP分配给一个VM。
在主节点(具有弹性IP)上,运行以下命令:
sudo kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=3.18.117.205
在初始化过程中,它停留在初始化过程中并返回超时错误。以下是Kubelet的日志:
Jul 19 05:11:29 ip-172-31-16-195 kubelet[17171]: E0719 05:11:29.511349 17171 reflector.go:125] k8s.io/kubernetes/pkg/kubelet/config/apiserver
Jul 19 05:11:29 ip-172-31-16-195 kubelet[17171]: E0719 05:11:29.513005 17171 reflector.go:125] k8s.io/kubernetes/pkg/kubelet/kubelet.go:453:
Jul 19 05:11:29 ip-172-31-16-195 kubelet[17171]: E0719 05:11:29.516066 17171 reflector.go:125] k8s.io/client-go/informers/factory.go:133: Fai
Jul 19 05:11:29 ip-172-31-16-195 kubelet[17171]: E0719 05:11:29.537776 17171 reflector.go:125] k8s.io/kubernetes/pkg/kubelet/kubelet.go:444:
Jul 19 05:11:29 ip-172-31-16-195 kubelet[17171]: E0719 05:11:29.601084 17171 kubelet.go:2248] node "ip-172-31-16-195" not found
Jul 19 05:11:29 ip-172-31-16-195 kubelet[17171]: E0719 05:11:29.701293 17171 kubelet.go:2248] node "ip-172-31-16-195" not found
Jul 19 05:11:29 ip-172-31-16-195 kubelet[17171]: E0719 05:11:29.801496 17171 kubelet.go:2248] node "ip-172-31-16-195" not found
Jul 19 05:11:29 ip-172-31-16-195 kubelet[17171]: E0719 05:11:29.901732 17171 kubelet.go:2248] node "ip-172-31-16-195" not found
Jul 19 05:11:30 ip-172-31-16-195 kubelet[17171]: E0719 05:11:30.001992 17171 kubelet.go:2248] node "ip-172-31-16-195" not found
Jul 19 05:11:30 ip-172-31-16-195 kubelet[17171]: E0719 05:11:30.102215 17171 kubelet.go:2248] node "ip-172-31-16-195" not found
如果我使用以下命令:
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
然后初始化成功完成,我得到加入网络的命令。
join命令包含VM的私有IP地址。
因此,如果我使用上面的join命令并用它创建集群,那么无论如何,如果我重新启动主节点,那么它将像改变机器专用IP一样影响集群吗?
如果没有,那么弹性IP有什么用?
任何帮助,将不胜感激。
谢谢
答案 0 :(得分:1)
我重新启动主节点,然后它将像更改一样影响集群 在机器的专用IP中?
重新启动EC2实例不会不更改实例的私有IP地址;它只会更改公共地址(除非它是弹性IP)。
因此您不必担心。而且,您不需要弹性IP将apiserver通告给集群中的其余节点。实际上,作为最佳实践,您希望实例通过私有IP进行通信。
如果没有,那么弹性IP有什么用?
没有用。设置指南是否告诉您您需要弹性IP?
我无法告诉您有关为什么的原因,而弹性IP会导致问题,而又不了解您的网络设置。
如果需要进一步的故障排除帮助,可以尝试重新运行kubeadm init
,同时将日志详细程度设置为-v=2
,并在此处发布输出。