第一个问题:
pod调度不到机器上。经排查是时间不同步,etcd注册信息混乱,对etcd数据做了还原,另外公司每天自动备份etcd 数据,防止etcd出现问题,能及时恢复
第二个问题:
Pod状态异常:一直处于pending状态
排查思路:
物理节点层面分析:
查看节点资源使用情况:如free -m查看内存、top查看CPU使用率、df - h查看磁盘使用情况,这样就可以快速定位节点资源情况,判断是不是节点有问题
查看节点污点: kubectI describe nodes master1 (控制节点名字),如果节点定义了污点,那么Pod不能容忍污点,就会导致调度失败,如下:
Taints:node-role. kubernetes. io/master :NoSchedule
这个看到的是控制节点的污点,表示不允许Pod调度(如果Pod定义容忍度,则可以实现调度)
Pod本身分析:
在定义pod时, 如果指定了nodeName是不存在的, 那也会调度失败
在定义Pod时,如果定义的资源请求比较大,导致物理节点资源不够也是不会调度的