【云原生之K8s】K8s排障思路

目录

一、排障基本命令

二、Pod处于Pending状态

三、Pod 一直处于 Waiting 或 ContainerCreating 状态

四、Pod 处于 ImagePullBackOff 状态

五、Pod 一直处于 CrashLoopBackOff 状态

六、Pod 处于 Error 状态

七、集群处于NotReady状态


一、排障基本命令

一般来说pod处于异常状态,都可以执行以下命令查看pod状态
kubectl get pod -o yaml #查看pod配置
kubcctl get pod -o wide #查看pod运行节点等信息
kubectl describe pod #查看pod事件
kubectl logs #查看pod日志

二、Pod处于Pending状态

pending说明pod还没调度到某个Node上面

可以通过以下命令查看
kubectl describe pod
可能原因:
1、资源不足,集群内所有的 Node 都不满足该 Pod 请求的CPU、内存或者临时存储空间等资源。解决方法是降低资源
使用率,可以删除不用的Pod或者添加新的Node节点
kubectl describe node #可以查看node资源情况

2、HostPort 端口已被占用,通常推荐使用 Service 对外开放服务端口

3、不满足 nodeSelector
如果Pod包含nodeSelector 指定了节点需要包含的 label,调度器将只会考虑将 Pod 调度到包含这些 label
的Node上,如果没有 Node 有这些 label或者有这些 label的 Node 其它条件不满足也将会无法调度

4、不满足 affinity
nodeAffinity: 节点亲和性,可以看成是增强版的 nodeSelector,用于限制 Pod 只允许被调度到某一部分 Node
podAffinity: Pod亲和性,用于将一些有关联的Pod调度到同一个地方,可以是指同一个节点或同一个可用区的节点等
podAntiAffinity: Pod反亲和性,用于避免将某一类Pod调度到同一个地方避免单点故障,比如将集群 DNS 服务
的 Pod 副本都调度到不同节点,避免一个节点挂了造成整个集群DNS解析失败,使得业务中断


三、Pod 一直处于 Waiting 或 Con

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值