Kubernetes-集群的高可用部署、结合fence

一 . k8s高可用结合负载均衡介绍

配置高可用(HA)Kubernetes集群,有以下两种可选的etcd拓扑:

集群master节点与etcd节点共存,etcd也运行在控制平面节点上
使用外部etcd节点,etcd节点与master在不同节点上运行

在前面k8s学习中,围绕一个k8s的master节点操作,当此节点dowm掉后k8s将无法进行后续的部署管理工作。此时通过haproxy配置k8s master主机实现负载均衡,通过k8s三台master主机实现k8s集群高可用。

外部etcd拓扑
请添加图片描述

二. K8s高可用+负载均衡集群部署

项目准备:
准备7台虚拟机server5-server10,server1:

server1 : harbor仓库
server5/server6:k8s高可用集群提供haproxy负载均衡
server7/server8/server9:k8s高可用集群master节点
server10:k8s woker 测试节点
请添加图片描述

1.pacemaker+haproxy的高可用+负载均衡部署

server5/6安装pacemaker相关组件,设置开机自启

先在server5,6配置repo源

cd /etc/yum.repos.d/
vim dvd.repo

[dvd]
name=dvd
baseurl=http://172.25.9=0.250/rhel7.6
gpgcheck=0

[HighAvailability]
name=HighAvailability
baseurl=http://172.25.0.254/rhel7.6/addons/HighAvailability
gpgcheck=0

请添加图片描述
server5,6上安装服务,并设置开机启动

yum install -y pacemaker pcs psmisc policycoreutils-python
systemctl  enable  --now pcsd.service 

请添加图片描述

请添加图片描述
修改server5/6 的hacluster用户密码为westos

passwd  hacluster 

请添加图片描述

在server5:pcs注册认证server5 server6
创建集群命名mycluster,server5/6为成员,集群成员也可以后续添加

pcs cluster  auth server5 server6
 pcs cluster  setup  --name mycluster server5 server6

请添加图片描述
设置集群服务启动并开机自启

pcs cluster  start  --all
pcs cluster  enable  --all

请添加图片描述

集群检测,发现报错,解决它:
设置stonith-enabled=false,再次检测不再报错

crm_verify -L -V
pcs  property  set stonith-enabled=false
crm_verify -L -V

请添加图片描述

查询pcs状态将无Warning

pcs status

请添加图片描述

设置vip 172.25.0.100,用于故障无缝切换

 pcs resource  create  vip ocf:heartbeat:IPaddr2 ip=172.25.3.100 op  monitor interval=30s

请添加图片描述

查看集群状态 vip位于server5,Online: [ server5 server6 ]

 pcs status 

请添加图片描述

可以看到vip在server5上,我们查看server5的Ip

ip addr

请添加图片描述

server5和6安装haproxy

yum install -y haproxy

请添加图片描述

安装之后,配置haproxy.cfg,启动服务查看端口6443

cd /etc/haproxy/
vim haproxy.cfg
修改如下:
listen stats *:80
     stats uri /status
#---------------------------------------------------------------------
# main frontend which proxys to the backends
#---------------------------------------------------------------------
frontend  main *:6443
    mode tcp
    default_backend             app

#---------------------------------------------------------------------
# round robin balancing between the various backends
#---------------------------------------------------------------------
backend app
    balance     roundrobin
    mode tcp
    server  k8s1 172.25.0.7:6443 check
    server  k8s2 172.25.0.8:6443 check
    server  k8s3 172.25.0.9:6443 check

请添加图片描述``

请添加图片描述

将配置文件传至server6,启动服务
查看端口6443

scp haproxy.cfg  server6:/etc
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dudududu--

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值