k8s中遇到问题解决的思路

排查问题的思路总结:

1、首先要看下对应的pods运行情况;k8s里所有的上层应用都运行在pods里;所以,遇到问题,首先要排查下pods的运行情况;
一般有几条命令:
(1) 查看命名空间里的pods的运行情况,以及pod所在的node机器;
kubectl get pods -n xxxnamespace -o wide

(2) 查看pod的日志

kubectl logs -n xxxnamespace xxxpodsname

(3) 查看pod的描述

kubectl describe pods -n xxxnamespace xxxpodsname

(4) 进入pod的容器内部查看运行情况
kubectl exec -it xxxpodsname -n xxxnamespace /bin/sh -c xxxcontainername

若命令用的不是非常熟练,可以在KubeSphere的 “平台管理---》集群管理---》应用负载---》容器组”里查看相应的pods;


2、pods里若有错误,看下错误信息;尝试排查问题;
3、因为k8s都是集群环境,pods分布在不同的工作节点里,可以在相似的pods里执行相同的命令对比信息,也可以在不同的pods执行相同的命令对比信息;
甚至是不同的node上的pod之间进行对比; 最终定位到某个Node机器上的某个Pod有问题。然后在排查问题。
4、实在不行,就吧出现问题的节点的Node机器重启下,然后等个10-20分钟左右,再看下情况。尽量不要重启k8s集群的所有机器。
5、k8s里运行的东西比较慢,要有耐心等待几分钟,要确保pods都执行完毕了。 若pod有错误,也不要着急,k8s有自动故障转移和恢复功能,等pods自动愈合。

 

https://github.com/kubesphere/ks-devops/issues/427

 

k8s的pods里安装nslookup的方法:

  • 步骤1: apt-get update
  • 步骤2: apt-get install dnsutils

参考网址:

https://blog.csdn.net/liumiaocn/article/details/100793480

K8s常见问题:Service 不能访问排查流程

https://jishuin.proginn.com/p/763bfbd4d120

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章