知识储备: 1、Kubernetes集群要保证高可用,至少需要三个master节点和多个node节点,master节点建议为奇数,一般集群3个master节点就足够了,node节点2个以上都可以。 2、在3个master的Kubernetes集群中,当1个master节点坏掉,剩余的2个节点master可以选举出新的Leader,这是因为在Raft协议中,需要超过一半的节点在线才能进行选举。 3、在3个master节点的集群中,坏掉了1个节点,此时还有2个节点在线,超过了一半,所以可以选举和运行,集群不受影响。 4、在3个master节点的集群中,1个节点坏掉:集群可继续运行;2个节点坏掉:无法选举,集群不可用。 5、在k8s集群的3个master节点部署Keepalived+HAProxy实现API Server(kube-apiServer)的高可用和负载均衡。 6、Keepalived:绑定一个vip地址实现高可用 7、HAProxy:通过TCP端口代理实现负载均衡 8、3个master节点之间组成的集群需要的是高可用服务,用Keepalived绑定vip来实现 9、2个node节点访问master集群需要的是负载均衡,用HAProxy实现 操作系统:AnolisOS-8.8-x86_64 docker-ce:v20.10.24 kubernetes:v1.23.17 calico:v3.25.0 Dashboard:v2.5.1 k8s集群说明: 3个master节点,并且做高可用和负载均衡设置,2个node节点。 vip地址:192.168.21.200 一、主机环境配置(5台都需要操作) 1、修改主机名和字符集 192.168.21.201 k8s-master01 192.168.21.202 k8s-master02 192.168.21.203 k8s-master03 192.168.21.204 k8s-node01 192.168.21.205 k8s-node02 hostnamectl set-hostname k8s-master01 #设置主机名为k8s-master01 hostnamectl set-hostname k8s-master02 #设置主机名为k8s-master02 hostnamectl set-hostname k8s-master03 #设置主机名为k8s-master03 hostnamectl set-hostname k8s-node01 #设置主机名为k8s-node01 hostnamectl set-hostname k8s-node02 #设置主机名为k8s-node02 locale #查看默认字符集 echo "export [...]
查看全文