top
本站为个人博客,博客所发布的一切文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。访问和下载本站内容,说明您已同意上述条款

k8s集群关机后,如何解决 kubernetes 重启起不来的问题

前景介绍

使用本地vmware搭建集群后,直接把vmware关机,然后再次启动后提示集群异常,所有容器状态为exited,并报错

The connection to the server 192.168.137.11:6443 was refused - did you specify the right host or port?

处理步骤

第一反应Kubernetes API server没有启动。

因为我的Kubernetes集群是通过kubeadm 安装的,所以API server也是通过Pod来运行的,只有kubelet 是通过systemd运行的。

运行 systemctl status kubelet 查看,结果是正常的

再运行journalctl -xefu kubelet 查看systemd日志发现真正的错误原因是:

运行cat /proc/swaps 检查果然Swap没有被关闭。

k8s集群关机后,如何解决 kubernetes 重启起不来的问题插图检查我之前的安装脚本发现,我之前修改/etc/fstab永久关闭Swap的命令有错。

正确的禁用Swap命令如下:

# 关闭Swap,机器重启后不生效
swapoff -a

# 修改/etc/fstab永久关闭Swap
cp -p /etc/fstab /etc/fstab.bak$(date '+%Y%m%d%H%M%S')
# Redhat
sed -i "s/\/dev\/mapper\/rhel-swap/\#\/dev\/mapper\/rhel-swap/g" /etc/fstab
# CentOS
sed -i "s/\/dev\/mapper\/centos-swap/\#\/dev\/mapper\/centos-swap/g" /etc/fstab
# 修改后重新挂载全部挂载点
mount -a

# 查看Swap
free -m
cat /proc/swaps

在Kubernetes集群master和nodes上禁用Swap后,运行下面命令重启Kubelet:

systemctl daemon-reload
systemctl restart kubelet
THE END
icon
1
icon
打赏
icon
分享
icon
二维码
icon
海报
发表评论
评论列表

赶快来坐沙发

诺言博客