开始调试有问题的 Pod
准备环境
创建一个例子用于测试:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
namespace: apps
spec:
selector:
matchLabels:
app: nginx
replicas: 2
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx
resources:
limits:
memory: "128Mi"
cpu: "500m"
ports:
- containerPort: 80
创建好以后查看状态
kubectl get po -n apps
NAME READY STATUS RESTARTS AGE
nginx-deployment-765cb4ff6b-72kmj 1/1 Running 0 5m40s
nginx-deployment-765cb4ff6b-986t6 1/1 Running 0 5m40s
查看 Pod 详细状态
kubectl describe po -n apps nginx-deployment-765cb4ff6b-72kmj
这里就不再展示了,太长了。
调试 Pending 状态的 Pod
为了测试咱们手动修改Pod 请求资源,修改cpu 请求为8核心 5个副本,根据我这个集群上现有的资源最少有一个Pod是无法调度的。
[root@master01 yaml]# kubectl get po -n apps -owide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
nginx-deployment-765cb4ff6b-47jbj 1/1 Running 0 4m54s 172.18.71.17 master03 <none> <none>
nginx-deployment-765cb4ff6b-5lzcc 1/1 Running 0 4m54s 172.29.55.36 node01 <none> <none>
nginx-deployment-765cb4ff6b-72kmj 1/1 Running 0 31m 172.21.231.131 node02 <none> <none>
nginx-deployment-765cb4ff6b-986t6 1/1 Running 0 31m 172.31.112.159 master01 <none> <none>
nginx-deployment-779898f6f5-fmmph 0/1 Pending 0 4m54s <none> <none> <none> <none>
nginx-deployment-779898f6f5-p7hfw 0/1 Pending 0 4m53s <none> <none> <none> <none>
查看 nginx-deployment-779898f6f5-fmmph 没有调度的原因
kubectl describe po -n apps nginx-deployment-779898f6f5-fmmph
输出如下