我们使用Ansible部署Kubespray,并将节点1-3指定为主节点。三个主节点中只有两个可以正常工作,在节点2上,kubeapi服务器处于CrashLoopBackoff状态:
kubectl get pods --all-namespaces | grep apiserver
kube-system kube-apiserver-ak801 1/1 Running 4 16d
kube-system kube-apiserver-ak802 0/1 CrashLoopBackOff 310 2d1h
kube-system kube-apiserver-ak803 1/1 Running 15 3d14h
所有机器都是从相同的VM模板创建的,除了docker和来自kubespray的kubernetes部署之外,没有任何其他软件正在运行。
日志显示绑定已在使用中:
kubectl logs kube-apiserver-ak802 -n=kube-system
Flag --insecure-port has been deprecated, This flag will be removed in a future version.
I0828 13:39:48.775705 1 server.go:681] external host was not specified, using 10.95.***.***
I0828 13:39:48.775849 1 server.go:152] Version: v1.12.5
Error: failed to create listener: failed to listen on 0.0.0.0:6443: listen tcp 0.0.0.0:6443: bind: address already in use
显然,我们负载均衡器的nginx接管了端口,但是为什么它在一台机器上却不在另一台机器上发生呢? 我该怎么做才能确保apiserver获得端口6443?