|NO.Z.00013|——————————|CloudNative|——|KuberNetes&书签.V13|——|报错处理.V02|集群部署失败排错思路|
报错处理三:集群安装不成功排查步骤
### --- 集群安装不成功排查步骤
### --- 检查所有节点firewalld和selinux是否已经关闭,getenforce命令结果必须为disabled
### --- 检查集群的VIP是不是可以telnet(master节点)
~~~ ——>Kubeadm:telnet VIP 16443
~~~ ——>二进制:telnet VIP 8443
~~~ ——>如果上述不通,telnet 127.0.0.1 16443或8443
~~~ ——>如果127.0.0.1通的,但是VIP不通,则可以认为是VIP的问题,
### --- VIP的问题一般为:
~~~ ——>该环境不支持VIP
~~~ ——>集群防火墙或者selinux没有关闭
~~~ ——>VIP没有成功绑定
### --- 如果上述均正常,需要查看系统日志有无异常
~~~ ——>首先查看各个服务器有无异常日志
~~~ ——>tail -f /var/log/messages
~~~ ——>如果有可以尝试Google或百度进行排查
### --- 查看有无异常容器
~~~ ——>kubectl get po --all-namespaces | grep -v Running
~~~ ——>如果有异常容器,根据异常的状态获取对应错误日志,之后可以尝试Google或百度进行排查
~~~ ——>对应状态错误日志查看方式:
二、对应状态错误日志查看方式:pod状态字段Phase的不同取值
状态 | 说明 |
Pending(挂起) | Pod已被kubernetes系统接收;但人有一个或多个容器未被创建, 可以通过kubectl describe查看处于Pending状态的原因 |
Running(运行中) | Pod已经被绑定到一个节点上,并且所有的容器都已经被创建,而且至少有一个是运行状态,或者是正在启动或者重启,可以通过kubectl logs查看pod的日志 |
successded(成功) | 所有容器执行成功并终止,并且不会再次重启, 可以通过kubectl logs查看pod日志 |
Failed(失败) | 所有容器都已终止,并且至少有一个容器以失败的方式终止, 也就是说这个容器要么以非零状态退出, 要么被系统终止,可以通过logs和describe查看pod日志和状态 |
Unknown(未知) | 通常是由于通信问题造成的无法获得Pod的状态 |
ImagePullBackOffErrImagePullSecret | 镜像拉取失败,一般是由于镜像不存在, 网络不通或者需要登录认证引起的,可以使用describe命令查看具体原因 |
CrashLoopBackOff | 容器启动失败,可以通过logs命令查看具体原因, 一般为启动命令不正确,健康检查不通过等。 |
OOMKilled | 容器内存溢出,一般是容器的内存Limit设置的过小, 或者程序本身有内存溢出,可以通过Logs查看程序启动日志 |
Terminating | Pod正在被删除,可以通过describe查看状态 |
SysctlForbidden | Pod自定义内核配置,但kubelet没有添加内核配置或配置的内核参数不支持, 可以通过describe查看具体原因 |
Completed | 容器内部主进程退出, 一般计划任务执行结束会显示状态,此时可以通过logs查看容器日志 |
ContainerCreating | Pod正在被创建,一般为正在下载镜像,或者由配置不当的地方, 可以通过describe查看具体原因。 |
### --- 注意:
~~~ ——>Pod的Phase字段只有Pending,Running,Succeeded,Failed,
~~~ Uknown其余的为上述状态的原因,可以通过kubectl get po xxx -oyaml查看。
### --- 查看方式
[root@k8s-master01 ~]# kubectl get po --all-namespaces | grep -v Running
NAMESPACE NAME READY STATUS RESTARTS AGE
nodejs-test nodejs-demo-c88b6cb5b-c677f 1/1 Terminating 4 15d
### --- 常见命令格式
~~~ kubectl logs 命令格式:
kubectl logs -f POD_NAME -n POD_NAMESPACE
~~~ kubectl describe 命令格式:
kubectl describe POD_NAME -n POD_NAMESPACE
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架