作为IT经理,结合实践经验,配置Kubernetes多Master节点的核心步骤如下:
-
负载均衡器准备:部署HAProxy或Nginx作为控制平面入口,配置TCP端口6443(kube-apiserver)流量分发到所有Master节点。
-
初始化首个Master:
kubeadm init \ --control-plane-endpoint="负载均衡器IP:6443" \ --upload-certs \ --pod-network-cidr=10.244.0.0/16
保存生成的join命令(含
--control-plane --certificate-key
)。 -
加入其他Master节点:
kubeadm join 负载均衡器IP:6443 \ --token <token> \ --discovery-token-ca-cert-hash <hash> \ --control-plane \ --certificate-key <key>
需保证证书有效期(默认2小时,可通过
kubeadm init phase upload-certs --upload-certs
重新生成)。 -
etcd高可用:所有Master节点自动加入etcd集群,需验证
etcdctl endpoint status
是否包含所有节点。 -
网络插件部署:在所有节点安装Calico/Flannel,确保Pod跨节点通信正常。
-
验证集群状态:
kubectl get nodes -o wide kubectl -n kube-system get pods
需确认所有Master节点处于Ready状态且核心组件无异常。
关键注意点:
- 确保所有节点时间同步(NTP服务)
- 关闭swap和防火墙/SELinux
- 控制平面证书需通过负载均衡器统一暴露
- 建议使用kube-vip替代传统负载均衡器简化部署