|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

 

posted on   yanqi_vip  阅读(33)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示