二进制搭建k8s集群——部署多master

时间:2025-05-11 19:48:32
#部署keepalived服务 yum install keepalived -y#修改keepalived配置文件 vim /etc/keepalived/ ! Configuration File for keepalived ​ global_defs { # 接收邮件地址 notification_email { acassen@ failover@ sysadmin@ } # 邮件发送地址 notification_email_from @ smtp_server 127.0.0.1 #修改为本机回环地址 smtp_connect_timeout 30 router_id LB01 #lb01节点的为LB01,lb02节点的为LB02 }#添加一个周期性执行的脚本 vrrp_script check_nginx { script "/etc/nginx/check_nginx.sh" #指定检查nginx存活的脚本路径 } ​ vrrp_instance VI_1 { state MASTER #lb01节点的为 MASTER,lb02节点的为 BACKUP interface ens33 #指定网卡名称 ens33 virtual_router_id 51 #指定vrid,两个节点要一致 priority 100 #设置优先级,lb01节点的为 100,lb02节点的为 90 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.44.100/24 #指定 VIP,需要与之前证书中认证的地址一致 } track_script { #追踪脚本 check_nginx #指定vrrp_script配置的脚本 } } ​ ​ #创建nginx状态检查脚本 vim /etc/nginx/check_nginx.sh #!/bin/bash #egrep -cv "grep|$$" 用于过滤掉包含grep 或者 $$ 表示的当前Shell进程ID count=$(ps -ef | grep nginx | egrep -cv "grep|$$")if [ "$count" -eq 0 ];then systemctl stop keepalived fichmod +x /etc/nginx/check_nginx.sh #为脚本增加执行权限#启动keepalived服务(一定要先启动了nginx服务,再启动keepalived服务) systemctl start keepalived systemctl enable keepalived ip addr #查看主节点的VIP是否生成#---------------- 3、关闭主节点的nginx服务,模拟故障,测试keepalived-----------------------#关闭主节点lb01的Nginx服务,模拟宕机,观察VIP是否漂移到备节点 systemctl stop nginx ip addr systemctl status keepalived #此时keepalived被脚本杀掉了 #备节点查看是否生成了VIP ip addr #此时VIP漂移到备节点lb02#恢复主节点 systemctl start nginx #先启动nginx systemctl start keepalived #再启动keepalived ip addr