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

作者:沐雪
文章均系作者原创或翻译,如有错误不妥之处,欢迎各位批评指正。本文版权归作者和博客园共有,如需转载恳请注明。
如果您觉得阅读这篇博客让你有所收获,请点击右下方【推荐】
找一找教程网-随时随地学软件编程 http://www.zyiz.net/

原文地址:https://www.cnblogs.com/puzi0315/p/15746985.html