Kubernetes(简称K8s)作为当今最风行的容器编排平台,其高可用性对出产情况至关重要。本文将深刻探究K8s高可用设置的核心技能,帮助你轻松实现集群的牢固运转。
K8s集群的高可用性重要依附于主备形式,即经由过程推举产生领导者,确保集群内只有一个组件运转。以下是多少个关键组件的高可用设置:
--leader-elect
选项把持领导者推举,确保同一时辰集群内只有一个controller-manager组件运转。--leader-elect
选项把持领导者推举,确保同一时辰集群内只有一个scheduler组件运转。# 在全部集群内呆板上履行以下操纵
# 体系安排 IP 地点牢固(略)
# 设置 hostname(留神修改 hostname)
hostname master1
cat > /etc/hostname << EOF
master1
EOF
# 修改 hosts 文件,增加主机名对 IP 映射(留神修改 IP 地点、hostname,其他呆板顺次增加本人的 IP hostname 映射即可)
cat >> /etc/hosts << EOF
192.168.213.181 master1
192.168.213.182 master2
192.168.213.183 master3
EOF
# 封闭防火墙
iptables -F
systemctl stop firewalld && systemctl disable firewalld
# 封闭 selinux
setenforce 0
# 抉择一个合适的收集插件(如 Flannel、Calico 等),在主节点上安排该插件
# 以 Flannel 为例
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
# 利用 kubeadm join 命令将其他节点参加到集群中
# 以 master02 为例
kubeadm join 192.168.213.181:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>
# 利用 kubectl get nodes 命令验证集群中全部节点的状况能否正常
kubectl get nodes
经由过程以上高可用设置技能跟现实,你将可能轻松实现K8s集群的牢固运转。在现实利用中,请根据具体须要跟情况停止恰当调剂。