k8s系列-机器重启/集群恢复

396 阅读1分钟

k8s系列-机器重启/集群恢复

背景

1.本系列k8s文章全部为内网离线部署。

2.全部为root用户执行。

3.k8s版本为1.22.2

k8s-系列目录

k8s-系列教程-目录

本案例中使用的image镜像,如需在生产环境内网中使用,应该全部使用内网Docker仓库中的镜像。

搭建内网Docker仓库方案。

概述

本篇文章讲述在需要k8s机器重启时,或者在k8s机器挂掉时,如何拉起k8s节点。

停止服务

Master机器先停止keepalived+nginx

# 如果做了keepalived+nginx执行如下命令
# cd nginx目录
./nginx -s stop

service keepalived stop

systemctl stop kubelet
systemctl stop docker

工作节点执行

systemctl stop kubelet
systemctl stop docker

启动服务

Master机器先启动keepalived+nginx

# cd nginx目录
./nginx

service keepalived start

systemctl start kubelet
systemctl start docker

工作节点执行

systemctl start kubelet
systemctl start docker

检查节点启动状态

#检查启动成功状态
systemctl status <服务名称> 
# 检查节点状态 
kubectl get nodes

常见问题

如果发现机器重启后,k8s集群没有恢复,kubelet启动不起来,可以通过systemctl status kubelet查看原因。

这里出现问题一般是因为:k8s在部署的时候,有一些系统参数或配置,只是临时设置好了,并没有做持久化配置。

例如:内存交换,可以通过执行以下命令临时关闭swapoff -a。但是重启后又失效了,需要重新执行命令。这个可以通过修改系统配置文件vi /etc/fstab,将/dev/mapper/centos-swap swap swap default 0 0这一行前面加个#号将其注释掉,就可以实现持久化配置了。