centos7使用haproxy部署k8s高可用集群
- 2024-01-09 19:37:12
- 运维
- 507
- shevechco
之前我们部署k8s多master高可用集群中使用的代理均衡器是nginx,这次我们使用haproxy来做负载均衡器,之前的笔记也会用到,可以查看之前的笔记:https://sulao.cn/post/950
直接从之前笔记中的安装nginx处开始,由于此处是使用haproxy替代原来的nginx,所以我们直接安装haproxy,本次笔记和上述笔记基本一致,只有nginx/haproxy和keepalived处略有不同
yum install haproxy -y
安装完成以后我们现手工添加VIP
ip addr add 192.168.1.78/24 dev eth0
haproxy直接使用以下haproxy.cfg的配置,haproxy的配置字段介绍可以查看这个笔记:http://www.sulao.cn/post/746.html
cat /etc/haproxy/haproxy.cfg global log 127.0.0.1 local2 chroot /var/lib/haproxy pidfile /var/run/haproxy.pid maxconn 4000 user haproxy group haproxy daemon stats socket /var/lib/haproxy/stats defaults mode http log global option httplog option dontlognull option http-server-close option redispatch retries 3 timeout http-request 10s timeout queue 1m timeout connect 10s timeout client 1m timeout server 1m timeout http-keep-alive 10s timeout check 10s maxconn 3000 listen master bind 0.0.0.0:16443 mode tcp option tcplog balance roundrobin server master1 192.168.1.72:6443 check inter 2000 fall 2 rise 2 weight 1 server master2 192.168.1.73:6443 check inter 2000 fall 2 rise 2 weight 1 server master3 192.168.1.74:6443 check inter 2000 fall 2 rise 2 weight 1
然后设置开机启动并启动
systemctl enable haproxy systemctl start haproxy
接着我们配置haproxy,keepalived我们还是使用单播非抢占模式进行配置
修改三个master节点的/etc/keepalived/keepalived.conf文件
cat /etc/keepalived/keepalived.conf global_defs { router_id R1 script_user root enable_script_security } vrrp_script chk_haproxy { script "/etc/keepalived/check.sh" interval 3 } vrrp_instance VI_1 { state BACKUP #另外两个master节点也填写BACKUP interface eth0 #根据每个节点的网卡名字进行修改 virtual_router_id 51 #主从填写一致 VRID nopreempt priority 100 #优先级,其他的backup要小于这个值 advert_int 1 authentication { auth_type PASS auth_pass 1111 } unicast_src_ip 192.168.1.72 #填写本机IP unicast_peer { 192.168.1.73 #另外的keepalived节点IP,如果有多个keepalived就写多行,我这里有三个keeplived节点 192.168.1.74 } virtual_ipaddress { 192.168.1.78/24 #VIP } track_script { chk_haproxy #调用检测脚本 } }
check.sh脚本内容如下
cat /etc/keepalived/check.sh #!/bin/bash if [ "$(ps -ef |grep haproxy |grep -v grep)" == "" ] then systemctl restart haproxy sleep 2 if [ "$(ps -ef |grep haproxy |grep -v grep)" == "" ] then pkill -f keepalived fi fi
接着我们设置keepalived开机启动并启动
systemctl enable keepalived systemctl start keepalived
启动以后我们可以查看16443端口
内容版权声明:除非注明,否则皆为本站原创文章。
转载注明出处:http://www.sulao.cn/post/957
相关推荐
- k8s存储pv/pvc中的subPath的使用详解
- centos7安装CUDA Tookit+CUDA Samples+NCCL+OpenMPI
- centos7添加交换分区swap
- k8s容器退出码详细信息介绍
- k8s调度GPU节点并挂载GPU设备
- centos7升级systemd并切换cgroup v1到cgroup v2
- centos7下程序运行提示报错version `GLIBCXX_3.4.20` not found
- centos7安装GUI图形界面
- k8s使用nfs报错selfLink was empty, can't make reference
- centos7删除POD一直Terminating无法销毁