跳到主要内容

高可用集群

介绍维护高可用集群

高可用VIP的主动切换​

高可用集群通过Keepalived来维护主从节点的切换,平时VIP在主节点,由主节点提供服务。在主节点宕机情况下,会自动切换到备节点,由备节点提供服务。

在平时运维工作中,存在需要主动切换主从节点的情况,例如要对主节点执行关机维护任务。

可以通过修改调低主节点的keepalived的优先级并重启keepalived实例的方式主动实现主从切换。

控制服务的VIP切换的keepavlied配置文件位于 /etc/kubernetes/manifests/keepalived.yaml

数据库服务的VIP切换的keepalived配置文件位于 /etc/keepalived/keepalived.conf

EIP网关的VIP切换的keepalvied配置文件位于 /etc/keepalived/eipgw.conf

高可用节点下线维护步骤​

  1. 如果有VIP,将VIP主动切换到备节点
  2. 如果有虚拟机,迁移虚拟机到其他宿主机
  3. 将容器从该节点驱逐
kubectl cordon <node>
  1. 将kubelet,docker等服务设置为不自动启动
systemctl disable kubelet docker keepalived maraidb
  1. 停止容器
docker stop
  1. 停止所有服务
systemctl stop kubelet docker keepalived maraidb
  1. 维护节点

高可用节点恢复上线步骤​

  1. 如果有数据库,先启动数据库
systemctl start mariadb
  1. 检查数据库主从同步状态
show slave status\G

如果有问题,则需优先解决数据库主从同步问题。

  1. 启动docker
systemctl start docker
  1. 启动kubelet
systemctl start kubelet
  1. 如果修改了keepavlied的优先级,恢复keepalived的优先级。启动keepalived
systemctl start keepalived
  1. 恢复Kubenetes调度
kubectl uncordon <node>
  1. 恢复以上服务的开机自动启动
systemctl enable kubelet docker keepalived maraidb