Kubernetes常见的日常故障处理指南|干货分享
2022-12-23 08:5:10 Author: Docker中文社区(查看原文) 阅读量:17 收藏

问题1:Kubernetes集群服务访问失败?


原因分析:证书不能被识别,其原因为:自定义证书,过期等。
解决方法:更新证书即可。

问题2:Kubernetes集群服务访问失败?

curl: (7) Failed connect to 10.103.22.158:3000; Connection refused

原因分析:端口映射错误,服务正常工作,但不能提供服务。
解决方法:删除SVC,重新映射端口即可。

kubectl delete svc nginx-deployment

问题3:Kubernetes集群服务暴露失败?

Error from server (AlreadyExists): services "nginx-deployment" already exists

原因分析:该容器已暴露服务了。
解决方法:删除SVC,重新映射端口即可。

问题4:外网无法访问Kubernetes集群提供的服务?

原因分析:‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍Kubernetes集群的type为ClusterIP,未将服务暴露至外网。
解决方法:修改Kubernetes集群的type为NodePort即可,于是可通过所有Kubernetes集群节点访问服务。

kubectl edit svc nginx-deployment

问题4:Pod状态为ErrImagePull?

readiness-httpget-pod   0/1     ErrImagePull   0          10s

原因分析:image无法拉取。



解决方法:更换镜像即可。
问题5:创建init C容器后,其状态不正常?

NAME READY STATUS RESTARTS AGE
myapp-pod 0/1 Init:0/2 0 20s

原因分析:查看日志发现,Pod一直出于初始化中;然后查看Pod详细信息,定位Pod创建失败的原因为:初始化容器未执行完毕。

Error from server (BadRequest): container "myapp-container" in pod "myapp-pod" is waiting to start: PodInitializing

解决方法:更换镜像即可。

问题6:创建init C容器后,其状态不正常?

NAME READY STATUS RESTARTS AGE
myapp-pod 0/1 Init:0/2 0 20s

原因分析:查看日志发现,Pod一直出于初始化中;然后查看Pod详细信息,定位Pod创建失败的原因为:初始化容器未执行完毕。

Error from server (BadRequest): container "myapp-container" in pod "myapp-pod" is waiting to start: PodInitializing

waiting for myservice

Server: 10.96.0.10
Address: 10.96.0.10:53

** server can't find myservice.default.svc.cluster.local: NXDOMAIN

*** Can't find myservice.svc.cluster.local: No answer
*** Can't find myservice.cluster.local: No answer
*** Can't find myservice.default.svc.cluster.local: No answer
*** Can't find myservice.svc.cluster.local: No answer
*** Can't find myservice.cluster.local: No answer

解决方法:创建相关Service,将SVC的name写入Kubernetes集群的CoreDNS服务器中,于是CoreDNS就能对Pod的init C容器执行过程中的域名解析了。

kubectl apply -f myservice.yaml

问题7:探测存活Pod状态为CrashLoopBackOff?
原因分析:镜像问题,导致容器重启失败。
解决方法:更换镜像即可。

问题8:Pod创建失败?

readiness-httpget-pod 0/1 Pending 0 0s
readiness-httpget-pod 0/1 Pending 0 0s
readiness-httpget-pod 0/1 ContainerCreating 0 0s
readiness-httpget-pod 0/1 Error 0 2s
readiness-httpget-pod 0/1 Error 1 3s
readiness-httpget-pod 0/1 CrashLoopBackOff 1 4s
readiness-httpget-pod 0/1 Error 2 15s
readiness-httpget-pod 0/1 CrashLoopBackOff 2 26s
readiness-httpget-pod 0/1 Error 3 37s
readiness-httpget-pod 0/1 CrashLoopBackOff 3 52s
readiness-httpget-pod 0/1 Error 4 82s

原因分析:镜像问题导致容器无法启动。

解决方法:更换镜像。

问题9:Pod的ready状态未进入?

readiness-httpget-pod   0/1     Running   0          116s

原因分析:Pod的执行命令失败,无法获取资源。

解决方法:进入容器内部,创建yaml定义的资源。

问题10:Pod创建失败?

原因分析:yml文件内容出错—-使用中文字符。
解决方法:修改myregistrykey内容即可。

推荐阅读 点击标题可跳转

《Docker是什么?》

《Kubernetes是什么?》

《Kubernetes和Docker到底有啥关系?》

《教你如何快捷的查询选择网络仓库镜像tag》

《Docker镜像进阶:了解其背后的技术原理》

《教你如何修改运行中的容器端口映射》

《k8s学习笔记:介绍&上手》

《k8s学习笔记:缩扩容&更新》

《Docker 基础用法和命令帮助》

《在K8S上搭建Redis集群》

《灰度部署、滚动部署、蓝绿部署》

《PM2实践指南》

《Docker垃圾清理》

《Kubernetes(k8s)底层网络原理刨析》

《容器环境下Node.js的内存管理》

《MySQL 快速创建千万级测试数据》

《Linux 与 Unix 到底有什么不同?》

《浅谈几种常见 RAID 的异同》

《Git 笔记-程序员都要掌握的 Git》

《老司机必须懂的MySQL规范》

《Docker中Image、Container与Volume的迁移》

《漫画|如何用Kubernetes搞定CICD》

《写给前端的Docker实战教程》

《Linux 操作系统知识地图2.0,我看行》

《16个概念带你入门 Kubernetes》

《程序员因接外包坐牢456天,长文叙述心酸真实经历》

《IT 行业老鸟,有话对你说》

《HTTPS 为什么是安全的?说一下他的底层实现原理?


免责声明:本文内容来源于网络,所载内容仅供参考。转载仅为学习和交流之目的,如无意中侵犯您的合法权益,请及时联系Docker中文社区!



文章来源: http://mp.weixin.qq.com/s?__biz=MzI1NzI5NDM4Mw==&mid=2247494208&idx=1&sn=54a9853d834db1bbfab5527fed3efb05&chksm=ea1b0300dd6c8a168e8cb8fd4710c3baafaa7abab80475212e5e4e49aecfde70991475e986c7#rd
如有侵权请联系:admin#unsafe.sh