1: Pod始终处于pending状态

详细描述:
Pod始终处于pending状态
解题思路:
如果pod保持在pending的状态,意味着无法被正常的调度到节点上,由于系统的某些资源无法满足Pod的运行需求
原因分析:
系统没有足够的资源或者用户指定了hostPort;通过hostPort用户能够将服务暴露到指定的主机端口上,会限制pod被调度到可运行节点上
解决步骤:
系统没有足够资源的情况,需要清理一些不需要的Pod,调整它们所需的资源量或者向集群中新增加节点
2: Pod始终处于Waiting状态

详细描述:
Pod始终处于Waiting状态
解题思路:
Pod处于Waiting的状态,说明已经被调度到一个工作节点, 却无法在那个节点上运行
原因分析:
可以使用kubectl describe 查看含有更详细的错误信息。一般导致Pod处于waiting的原因为镜像无法下载
解决步骤:
查看镜像下载情况
3: Pod处于CrashLoopBackOff状态

详细描述:
Pod处于CrashLoopBackOff状态
解题思路:

原因分析:
CrashLoopBackOff状态说明容器已经启动,但是又异常导致退出,这个时候Pod的restartCounts通常大于0;
容器进程退出
健康检查失败退出
OOMKilled
解决步骤:

4: Pod一直崩溃或者运行不正常

详细描述:
Pod一直崩溃或者运行不正常
解题思路:
可以使用kubectl describe以及kubectl logs排查问题,这个问题存在情况比较复杂
原因分析:
可能的情况: 健康检测失败,OOM情况,或者容器运行生命周期结束
解决步骤:

5:集群雪崩,kubelet预留资源不足

详细描述:
集群雪崩,kubelet预留资源不足
解题思路:

原因分析:
原因分析参见网上blog:https://my.oschina.net/jxcdwangtao/blog/1629059
解决步骤:
为kubelet等进程预留相应的资源,具体操作参加上面的网址

6: nfs挂载错误wrong fs type, bad option, bad superblock

详细描述:
nfs挂载错误wrong fs type, bad option, bad superblock
解题思路:

原因分析:
根据错误提示, 查看/sbin/mount.文件,果然发现没有/sbin/mount.nfs文件
解决步骤:
安装nfs-utils 即可

7:kube-apiserver accept4: too many open files

详细描述:
kube-apiserver accept4: too many open files
http: Accept error: accept tcp 0.0.0.0:6443: accept4: too many open files; retrying in 1s
解题思路:

原因分析:
查看apiserver 进程, lsof -p pid,发现占有65540,查看cat/proc/pid, 发现占有65540, 查看cat /proc/pid,发现占有65540,查看cat/proc/pid/limits发现限制在65536, 查看占用的一大堆10250的某个kubelet,发现如下“device is busy”的错误
解决步骤:
目前解决方案
kubectl delete --grace-period=0 --force
https://github.com/kubernetes/kubernetes/issues/51835
8: kubernetes pod 无法删除,Docker: Device is busy

详细描述:
kubernetes pod 无法删除,Docker: Device is busy
解题思路:
登录对应的Node节点,采用docker ps -a 查看对应的docker容器状态,发现容器的状态处于Dead状态,同样使用docker rm , 提示Device is busy。
原因分析:
出现Docker: Device is busy 已经停止的docker容器无法删除,可能的原因存在systemd unit file 中带有 PrivateTmp=true 的 serivce,例如ntpd.service,nginx.service,当时在使用docker comose的时候是因为碰巧那台机器上安装了nginx。nginx的systemd文件中有下面的配置:

[Service]
PrivateTmp=true
这会导致nginx运行在私有挂载命名空间,而docker容器在销毁时需要卸载挂载的磁盘信息,此时出现冲突引起销毁docker容器失败。 当把引起这个问题的nginx关闭后,再使用docker rm <container id>可以将Dead的容器删除,但是当重新启动nginx容器后,后边可能还会出现这个问题。 这个是CentOS/RedHat 3.10.0内核NameSpace的bug;正常由于某个systemd服务PrivateTmp=true引起的

解决步骤:
网络上出现的Pod无法删除的解决方案:
https://blog.terminus.io/docker-device-is-busy/
Docker 故障(device or resource busy)
常见的解决思路:
首先尝试使用docker rm ,一般会得到如下的错误:Error response from daemon: driver “overlay” failed to remove root filesystem for cb48a9914c6d9015eef2519f70bed648b070345e5acd271de0a03cb931d78a69: remove /var/lib/docker/overlay/cd38b6e94e55a36b43cefe9cb3a74050fdc485e233c72a1fa125277d6b3f630d/merged: device or resource busy
查看对应的挂载信息:
grep docker /proc/*/mountinfo | grep /var/lib/docker/overlay/cd38b6e94e55a36b43cefe9cb3a74050fdc485e233c72a1fa125277d6b3f630d/merged
/proc/168793/mountinfo:3967 3441 0:639 / /var/lib/docker/overlay/cd38b6e94e55a36b43cefe9cb3a74050fdc485e233c72a1fa125277d6b3f630d/merged rw,relatime shared:415 - overlay overlay rw,lowerdir=/var/lib/docker/overlay/125dad94af82485b8ea6cd3808df431f7180033d278bdadcbc21d7d7054678a4/root,upperdir=/var/lib/docker/overlay/cd38b6e94e55a36b43cefe9cb3a74050fdc485e233c72a1fa125277d6b3f630d/upper,workdir=/var/lib/docker/overlay/cd38b6e94e55a36b43cefe9cb3a74050fdc485e233c72a1fa125277d6b3f630d/work
从上面的输出结果可以看出当前的进程168793,查看这个进程:
ps -ef | grep 168793
ntp 168793 1 0 Feb04 ? 00:00:00 /usr/sbin/ntpd -u ntp:ntp -g
这里经确认这个进程是ntpd,重启ntpd后再次尝试使用docke rm 删除容器,一般情况下是可以删除的。
当然上面在查看对应的挂载信息时,可以能会列出很多信息,这个时候挨个去找出冲突的进程太繁琐了,可以强制 umount无法删除的目录:
umount -f /var/lib/docker/overlay/cd38b6e94e55a36b43cefe9cb3a74050fdc485e233c72a1fa125277d6b3f630d/merged
之后再重新尝试删除容器,重复上边的过程。
当处于Dead状态的容器清理干净后,使用kubectl将处于Terminating的Pod删除掉即可
9: k8s无法删除namespace 提示Terminating

详细描述:
k8s无法删除namespace 提示Terminating
解题思路:

原因分析:

解决步骤:
kubectl get ns -o json > ns-delete.json
删除文件中spec.finalizers
“spec”:{},
备注:在执行命令前,要先克隆一个新的会话,执行kubectl proxy --port=8081
执行:
curl -k -H “Content-Type: application/json” -X PUT --data-binary @ns-delete.json http://127.0.0.1:8081/api/v1/namespaces//finalize

10:Kubernetes: No Route to Host

详细描述:
Kubernetes: No Route to Host
Error getting server version: Get https://xx.xx.xx.xx:443/version?timeout=32s: dial tcp xx.xx.xx.xx:443: connect: no route to host
解题思路:

原因分析:

解决步骤:
iptables -F

11: kubeadm kube-controller-manager does not have ceph rbd binary anymore

详细描述:
kubeadm kube-controller-manager does not have ceph rbd binary anymore
Error: "failed to create rbd image: executable file not found in $PATH, command output: "
解题思路:

原因分析:

解决步骤:
解决参照文档:https://github.com/kubernetes/kubernetes/issues/56990
yum install -y ceph-common

12: helm报这个错误 Helm: Error: no available release name found

详细描述:
helm报这个错误 Helm: Error: no available release name found
解题思路:

原因分析:
因为tiller没有正确的角色权限
解决步骤:
kubectl create serviceaccount --namespace kube-system tiller
kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
kubectl patch deploy --namespace kube-system tiller-deploy -p ‘{“spec”:{“template”:{“spec”:{“serviceAccount”:“tiller”}}}}’
13:  K8s中 pv 无法删除问题

详细描述:
K8s中 pv 无法删除问题
Pv始终处于“Terminating”状态,而且delete不掉
解题思路:

原因分析:

解决步骤:
删除k8s中的记录 kubectl patch pv xxx -p ‘{“metadata”:{“finalizers”:null}}’
14:  Error from server: Get https://master-node:10250/containerLogs/default/csi-hostpathplugin-0/node-driver-registrar: dial tcp: lookup master-node on 114.114.114.114:53: no such host

详细描述:
Error from server: Get https://master-node:10250/containerLogs/default/csi- hostpathplugin-0/node-driver-registrar: dial tcp: lookup master-node on 114.114.114.114:53: no such host
解题思路:

原因分析:

解决步骤:
在/etc/hosts 添加192.168.x.x master-node
15:  calico/node is not ready: BIRD is not ready:BGP not established

详细描述:
calico/node is not ready: BIRD is not ready:BGP not established
解题思路:

原因分析:
主要原因是calico,没有识别到网卡
解决步骤:
modified calico.yaml file to include:
- name: IP_AUTODETECTION_METHOD
value: “interface=ens.*”
16: 无法删除image报rbd: error: image still has watchers解决方法

详细描述:
无法删除image报rbd: error: image still has watchers解决方法
解题思路:

原因分析:

解决步骤:
参照:https://www.cnblogs.com/sisimi/p/7776633.html
 
————————————————
版权声明:本文为CSDN博主「CodeAsWind」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/CodeAsWind/article/details/104395992

K8s常见问题分析解决相关推荐

  1. K8s常见问题分析解决(基础问题)

    1:部分工作节点pod无法启动 详细描述:部分工作节点pod无法启动(处于ContainerCreateing状态)日志: failed to set up ..... Network: failed ...

  2. K8s常见问题分析解决(coreDns)

    1: docker容器时间与宿主机时间不一致问题 详细描述:docker容器时间与宿主机时间不一致问题 解题思路:对比容器和宿主机的时区是否一致: 原因分析:一般情况下主要由于宿主机和容器的时区不一致 ...

  3. K8s常见问题分析解决(未分类问题一)

    1: Pod始终处于pending状态 详细描述:Pod始终处于pending状态 解题思路:如果pod保持在pending的状态,意味着无法被正常的调度到节点上,由于系统的某些资源无法满足Pod的运 ...

  4. k8s问题分析解决unable to recognize pet-set.yaml: no matches for kind PetSet in version apps/v1beta1

    本来是想在k8s中创建一个有状态的服务的,结果写好yaml文件,启动的时候,却报出如下错误. unable to recognize "pet-set.yaml": no matc ...

  5. 微信小程序 RTMP 音视频 通话 ffmpeg_音视频常见问题分析和解决:HLS切片丢帧引起的视频卡顿问题排查...

    问题背景: 前两天看读者留言让再写写音视频问题排查方面的思路,前面大概写几篇:<音视频播放疑难杂症分析和解决 :序篇>.<音视频常见问题分析和解决:延时和抖动>.<记一次 ...

  6. ffmpeg 丢帧 灰屏_音视频常见问题分析和解决:HLS切片丢帧引起的视频卡顿问题排查...

    问题背景: 前两天看读者留言让再写写音视频问题排查方面的思路,前面大概写几篇:<音视频播放疑难杂症分析和解决 :序篇>.<音视频常见问题分析和解决:延时和抖动>.<记一次 ...

  7. 音视频常见问题分析和解决:HLS切片丢帧引起的视频卡顿问题排查

    ​问题背景: 前两天看读者留言让再写写音视频问题排查方面的思路,前面大概写几篇:<音视频播放疑难杂症分析和解决 :序篇>.<音视频常见问题分析和解决:延时和抖动>.<记一 ...

  8. 驱动芯片在应用中的常见问题分析与解决

    驱动芯片在应用中的常见问题分析与解决 通信电源PSU在通讯设备中担任着很重要的角色,PSU问题将会导致整个通讯设备无法正常运作.常见的通信电源PSU拓扑有桥式.推挽以及正在兴起的非隔离IBB架构.所有 ...

  9. 放大器电路在设计过程中常见问题分析及如何解决

    放大器电路介绍 放大器电路,或称放大电路,能增加信号的输出功率.它透过电源取得能量来源,以控制输出信号的波形与输入信号一致,但具有较大的振幅.依此来讲,放大器电路亦可视为可调节的输出电源,用来获得比输 ...

最新文章

  1. 提高网站访问性能——Tomcat优化
  2. 用combobox扩展控件(dsCtrlComboBox)做出类似QQ登录界面的效果
  3. Tomcat 内存与优化篇
  4. 加油站(暴力+贪心)
  5. powershell 脚本运行策略,参数....
  6. 人脸注册源码faceregiste
  7. 软件工程学习进度第九周暨暑假学习进度之第九周汇总
  8. 如何在SQLite中检查表是否存在?
  9. Linux下重修烧录(修改)Mac地址---Eeupdate for Intel
  10. 葵花8号卫星数据简介与下载(一)——数据介绍与FTP下载
  11. 计算机考试报名照片可以是白底吗,软考报名照片必须白底的是吗?
  12. 数据库分页技术的实现
  13. 单片机学习 8-LED点阵实验
  14. qq实验报告c语言,C语言实现QQ密码大盗(没试验过,下回验证一下)
  15. System.Activator类
  16. Cadence修改打开默认版本
  17. 十张图,看数据分析如何赋能销售
  18. DDSM数据库转换图像格式——LJPEG转为PNG格式
  19. 设置浏览器为单进程模式
  20. python中如何保存并使用训练好的模型并调用

热门文章

  1. EasyNVR+人工智能分析算法,赋能AI行业应用
  2. Conflux 网络(Hydra)2.2.1-fixpos 版本升级公告
  3. matlab求亚像素,MATLAB 亚像素点检测代码;
  4. php系列之搭建PHP开发环境(XAMPP+PhpStorm)
  5. kingview3d在楼宇行业的应用
  6. 折腾记录,win11局域网文件夹共享
  7. 如何在IE浏览器中预览文件
  8. @font-face使用自定义字体
  9. Java设计模式-之代理模式(动态代理)
  10. Java基础面试题干货系列(一)