重启后k8s主节点连不上了
Posted 毛奇志
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了重启后k8s主节点连不上了相关的知识,希望对你有一定的参考价值。
文章目录
找到问题
一、故障产生
在不关闭kubernets相关服务的情况下,对kubernets的master节点进行重启,模拟服务器的异常掉电,重启linux后,k8s的kube-apiserver无法正常启动的问题。
k8s主节点报错:The connection to the server localhost:6443 was refused - did you specify the right host or port?
之前使用正常,重启后,kube-apiserver无法启动:
二、故障状况
启动后无法远程到kubernets的dashbaord,后进行如下命令报错。
# kubectl get nodes
The connection to the server <master>:6443 was refused - did you specify the right host or port?
故障处理:
1.检查环境变量情况(正常)
# env | grep -i kub
2.检查docker服务(正常)
# systemctl status docker.service
3.检查kubelet服务(表面正常)
# systemctl status kubelet.service
4.查看端口是是否被监听(没有监听)
# netstat -pnlt | grep 6443
5.检查防火墙状态(正常)
# systemctl status firewalld.service
6.查看日志
# journalctl -xeu kubelet
解决问题
首先确认
1.防火墙已经关闭
2.selinux设置disabled完成
3.docker启动正常
4.kubelet运行状态active
5.docker images存在所需镜像
主节点操作(删除 + 重新初始化 + 安装网络插件)
1.kubectl 查看命令是否正常
2.cd ~ 进入根目录
3.ll -a 查看是否存在.kube文件
4.rm -rf .kube/ 删除 (重置和删除 主节点需要多删除一个.kube目录)
5.systemctl restart docker 重启docker (主节点上重启两个)
6.systemctl restart kubelet 重启kubelet (主节点上重启两个)
7.kubeadm reset 重置 (重置和删除)
8.rm -rf /etc/cni/ 删除 (重置和删除)
9.kubeadm init --kubernetes-version=v1.17.17 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/16 --ignore-preflight-errors=Swap 初始化节点
kubectl get pods -n kube-system
curl -k https://localhost:6443/healthz
10.初始化命令成功后,创建.kube目录三句(重新配置)
mkdir -p $HOME/.kube
cd .kube/
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown ( i d − u ) : (id -u):(id−u):(id -g) $HOME/.kube/config
- 安装网络插件两句 Pending到Running
# 在k8s中安装calico(这条命令很快的)
kubectl apply -f https://docs.projectcalico.org/v3.9/manifests/calico.yaml
# 确认一下calico是否安装成功 -w可以实时变化(看到calico都好了表示网络插件好了)
kubectl get pods --all-namespaces -w
13.查看节点,已经出现,查看6443端口号,已经出现
netstat -ntlp | grep 6443
work1从节点操作(删除 + 重新join集群)
1.kubeadm reset 重置 (重置和删除)
2.rm -rf /etc/cni/ (重置和删除) rm -rf .kube/
- 从节点加入集群
kubeadm join x.x.x.x:6443 --token skagw4.hadivii9y393gvv9 --discovery-token-ca-cert-hash sha256:d4c5a34b948f221362c9796f7aba7d10711213a128e12b9c8da3d18843
- 重启从节点docker systemctl enable docker
成功:
问题:这样从新搞一次之后,前面的命名空间,就都没了
应该只要 kubectl reset ,不需要rm -rf 吧
以上是关于重启后k8s主节点连不上了的主要内容,如果未能解决你的问题,请参考以下文章
suse重启了系统为啥连不上了端口也不通,IP通端口却不通页面打不开,SSH连不上。