企业运维实战--k8s高可用集群部署
haproxy负载均衡+k8s高可用集群
项目简介:
在前面k8s学习中,我们只是围绕一个k8smaster节点进行操作,当此节点dowm掉后k8s将无法进行后续的部署管理工作。本项目将通过haproxy配置k8s master主机实现负载均衡,通过k8s三台master主机实现k8s集群高可用。
工作原理图:
项目准备:
准备6台虚拟机server5-server10,版本为rhel7.6,火墙与selinux全部关掉,其中
- server5/server6:负责为k8s高可用集群提供haproxy负载均衡
- server7/server8/server9:负责k8s高可用集群master节点
- server10:k8s woker 测试节点
haproxy负载均衡配置
server5、6负责负载均衡准备,为k8s master主机提供负载均衡服务。
首先配置解析,和仓库文件,安装harpoxy组件
vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.25.9.254 foundation39.ilt.example.com
172.25.9.1 server1 hyl.westos.org
172.25.9.2 server2
172.25.9.3 server3
172.25.9.4 server4
172.25.9.5 server5
172.25.9.6 server6
172.25.9.7 server7
172.25.9.8 server8
172.25.9.9 server9
172.25.9.10 server10
编辑仓库文件并传给其他主机
vim dvd.repo
cat dvd.repo
[dvd]
name=dvd
baseurl=http://172.25.9.254/rhel7.6
gpgcheck=0
[HighAvailability]
name=HighAvailability
baseurl=http://172.25.9.254/rhel7.6/addons/HighAvailability
gpgcheck=0
----------------------------------------------
cat docker.repo
[docker]
name=docker-ce
baseurl=http://172.25.9.254/docker-ce
gpgcheck=0
以上操作每个主机均需要操作,也可通过scp的方式进行覆盖。
server5、server6安装haproxy组件pcs并设置开机自启
yum install -y pacemaker pcs psmisc policycoreutils-python
systemctl enable --now pcsd.service
创建用户hacluster给定密码并授权集群认证
passwd hacluster
pcs cluster auth server5 server6
server5中设置集群mycluster
pcs cluster setup --name mycluster server5 server6
开启pcs 集群
pcs cluster start --all
pcs cluster enable --all
关闭fence警告
pcs property set stonith-enabled=false
crm_verify -L -V
关闭后,查询pcs状态将无Warning
创建vip,172.25.9.100,通过vip锁定服务
pcs resource create vip ocf:heartbeat:IPaddr2 ip=172.25.9.100