做哪个网站好,外贸网络营销的优势,杭州模板网站,手机端网站开发源码kubernetes高可用集群的搭建
前面介绍过了k8s单master节点的安装部署 今天介绍一下k8s高可用集群搭建
环境准备#xff1a; vip #xff1a;192.168.121.99 keeplive master01#xff1a;192.168.121.153 centos7 master02#xff1a;192.168.121.154 centos7 master03 vip 192.168.121.99 keeplive master01192.168.121.153 centos7 master02192.168.121.154 centos7 master03192.168.121.155 centos7
机器环境先准备三台干净的主机跟着我前面介绍的k8s部署做前面k8s部署的文章做 我的前一篇文章已经介绍的很详细了所以我这里就不介绍前期的环境配置了 跟着做到如下位置 下面这个也要安装
yum install kubectl-1.26.3然后前期的准备工作就差不多了 下面就是的k8s高可用集群和单机部署的区别 首先下载代理和高可用的工具
yum install -y haproxy keepalived然后编写haproxy的配置文件记得修改自己的主机名 每个节点都一样的配置
vim /etc/haproxy/haproxy.cfggloballog 127.0.0.1 local2chroot /var/lib/haproxypidfile /var/run/haproxy.pidmaxconn 4000user haproxygroup haproxydaemonstats socket /var/lib/haproxy/statsdefaultsmode tcplog globaloption httplogoption dontlognulloption http-server-closeoption forwardfor except 127.0.0.0/8option redispatchretries 3timeout http-request 10stimeout queue 1mtimeout connect 10stimeout client 1mtimeout server 1mtimeout http-keep-alive 10stimeout check 10smaxconn 3000frontend kube-apibind :16443mode tcpmaxconn 50000default_backend kube-masterbackend kube-masterbalance roundrobinserver master1 192.168.121.153:6443 weight 1 check inter 5s rise 2 fall 3server master2 192.168.121.154:6443 weight 1 check inter 5s rise 2 fall 3server master3 192.168.121.155:6443 weight 1 check inter 5s rise 2 fall 3然后到keepalived的配置
[rootnode101 ~]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {router_id server153vrrp_mcast_group4 224.5.5.5script_user rootenable_script_security
}vrrp_script chklive {script /etc/keepalived/chkhaproxy.shinterval 1weight -3timeout 5
}vrrp_instance VI_1 {nopreemptstate BACKUPinterface ens33priority 100virtual_router_id 51advert_int 3authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.121.99}track_script {chklive}
}这里要记得修改两个地方就是主机和虚拟VIP 然后就编写脚本监控haproxy的存活来实现vip的故障切换
vim /etc/keepalived/chkhaproxy.sh #! /bin/bashif ! netstat -nlpt | grep -w 16443 /dev/null
thensystemctl stop keepalived
fiexit 0
然后记得赋予脚本执行权限
chmod x /etc/keepalived/chkhaproxy.sh 然后配置文件就配置好了 接下来启动haproxy和keepalived
systemctl enable --now haproxy
systemctl enable --now keepalived然后就查看启动情况
systemctl status haproxy keepalived都启动以后看vip在三台机子中的某一台就可以了
然后就开始初始化集群 随便在哪一台机子上都行只在一台机子上操作就可以了
kubeadm init --apiserver-advertise-address192.168.121.153 --kubernetes-versionv1.26.3 --image-repository registry.aliyuncs.com/google_containers --cri-socket unix:///var/run/cri-dockerd.sock --service-cidr10.1.0.0/16 --pod-network-cidr10.2.0.0/16 --token-ttl0 --control-plane-endpoint 192.168.121.99:16443 --upload-certs和之前单节点集群的初始化有一点不同而已原理都是差不多的 初始化完成以后就是这个样子的然后我们去把另外两台主机也加进来
kubeadm join 192.168.121.99:16443 --token 99wnxp.kulhlbpbzes315zl --discovery-token-ca-cert-hash sha256:037bfd86aa3f0f7dd011e49a4d0c167195116f44ee3f56bfa165ce569fa80df5 --control-plane --certificate-key cdf7e38d13711c37c032732843639f313ade8b1b041d63f4665679f8eef1dd82 --cri-socket unix:///var/run/cri-dockerd.sock有几台master节点就加几台都是一样的操作当然也是得规划好的不然vip分不到 然后每个节点都执行下面得命令将环境变量设置一下 mkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/config然后随便在一台master节点都可以查询节点情况
[rootserver153 ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
server153 NotReady control-plane 11m v1.26.3
server154 NotReady control-plane 5m55s v1.26.3
server155 NotReady control-plane 2m25s v1.26.3这样我们得k8s高可用集群就搭建好了 node节点加入得方式都是一样的我的之前的博文介绍过了网络配置也是忘记了可以去看看 希望对大家有帮助