kubeadm init成功后遇到的问题
来源:4-7 初始化Kubernetes Master

动作100分
2021-08-12
老师,我的kubeadm init成功后,kubectl get node一开始是能获取到节点的,但是过了一会就会挂掉。
使用systemctl restart kubelet后,过一会也会挂掉,这种情况应该怎么排查原因呢?
之后我查看docker容器发现有几个组件没起来
journalctl -u kubelet的日记是:
2回答
-
清风
2021-08-12
kubectl get pod -n kube-system
看下哪些服务没起来
00 -
清风
2021-08-12
> 如果启动失败提升kubelet 没有启动则可以启动 kubelet 再执行kubeadm reset init。
```
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
```
- 配置KUBECONFIG 环境变量
```
echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile
```
- 安装网络插件 Flannel只需要在 Master 安装 flannel
可以使用课程代码库的文件
Clone 课程代码
```
git clone https://git.imooc.com/coding-464/kubeblog.git
```
```
kubectl apply -f kubeblog/docs/Chapter4/flannel.yaml
```
- 查看是否成功创建flannel网络
```
ifconfig |grep flan
flannel.1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1450
```
等待大约 10 分钟检查Kubernetes master运行情况
```
[root@localhost ~]# kubectl get node
NAME STATUS ROLES AGE VERSION
master Ready master 10m v1.19.3
```
所有 pod 都应该成功运行

## 错误排查
如果状态是 NotReady, 执行
```
kubectl get pod -n kube-system
```
如果有 pod 处于 pending 状态说明是在下载镜像等待即可如果状态是 fail则很可能是镜像拉取失败此时需要手动拉取。
- 如果提示 ifconfig not found, 则需要在 centos 系统里安装 net-tools
```
yum install net-tools -y
```
- 查看 flannel 网络插件部署状态
```
kubectl get po -n kube-system
```
- 如果出现“node 'master' not found 错误
```
检查权限
chmod 777 /run/flannel/subnet.env
```
如果 flannel pod 启动失败执行
```
kubectl describe pod kube-flannel-ds-hd6lf -n kube-system
```
如果是镜像拉取失败修改 flannel 的镜像路径为阿里云的镜像registry.cn-beijing.aliyuncs.com/qingfeng666/flannel:v0.13.0。再执行
```
docker pull registry.cn-beijing.aliyuncs.com/qingfeng666/flannel:v0.13.0
```
再创建 flannel pod
- 查看运行的 Kubernetes 组件
```
docker ps
```
- 如果出现“The connection to the server 192.168.99.101:6443 was refused - did you specify the right host or port?”错误
先执行 `kubectl get po -n kube-system`查看所有服务是否正常启动如果某个服务启动失败则执行
```
kubectl describe pod <pod name> -n kube-system
```
查看错误原因。
如果出现 flannel 镜像拉取失败则需要手动拉取 flannel 镜像再重复 init。
- 如果重装 kubeadm 主节点或者 worker 节点在 reset 之后要执行删除 cni0 网卡的命令
```
sudo ifconfig cni0 down
sudo ip link delete cni0
```
00
相似问题