我可能会问一个愚蠢的问题(在阅读kubernetes官方文档之后),但这是我的问题:
首先,我建立了一个kubeadm集群,其中包含3个堆叠的控制平面节点和etcd + 1个负载均衡器(etcd成员和控制平面节点位于同一位置)+ n个工作器。
# kubectl get nodes
NAME STATUS ROLES AGE VERSION
pp-tmp-test20.xxx Ready master 17h v1.15.1
pp-tmp-test21.xxx Ready master 15h v1.15.2
pp-tmp-test22.xxx Ready master 15h v1.15.2
pp-tmp-test23.xxx Ready worker 14h v1.15.2
pp-tmp-test24.xxx Ready worker 15h v1.15.2
是否可以从该拓扑迁移到“具有外部etcd集群的Kubadm集群”,而无需删除我的实际集群。迁移到 3个堆叠的控制平面节点+ 3个etcd节点+ 1个负载均衡器+ n个工作器。
还是我必须设置一个新集群?
我想我在官方文档(https://k0s.io/docs/setup/independent/high-availability/)中找到了答案:
“ 在继续之前,您应该仔细考虑哪种方法最能满足您的应用程序和环境的需求。此比较主题概述了每种拓扑的优缺点。”
“使用外部etcd节点设置集群与用于堆叠etcd 的过程类似,不同之处在于,应首先设置etcd ,并应在kubeadm配置文件中传递etcd信息。 “
非常感谢您的帮助
最好的问候 文森特
答案 0 :(得分:1)
是的,您现在可以在外部系统上设置etcd节点,并在kube-apiserver.yaml文件上更新以下参数。清单文件应位于控制平面节点上的/ etc / kubernetes / manifests目录中。
--etcd-servers=https://<IP address of new etcd server>:2379