Mor*_*lst 6 kubernetes google-cloud-platform google-kubernetes-engine
我不知道在哪里寻找提示。
我们已经在开发集群中使用 Helm Chart安装了 gitlab-runners。大多数情况下,这是有效的,但在过去一周左右的时间里,我们经历了 Pod 陷入状态Pending
而没有任何进一步日志的情况。在某个我无法更好定义的时刻,所有 Pod 都被调度到节点上,然后下一批再次陷入困境Pending
。
我们使用 GKE,并为 gitlab-runner pod 设置了一个可抢占节点的节点池。我们运行 kubernetes v1.15.4-gke.18
。
我们知道 Pod 被卡住的原因有多种Pending
,但我总是期望在运行kubectl describe <GITLAB_RUNNER_POD>
或kubectl get events
. 问题是,没有。没有事件。
我们启用了 stackdriver 日志记录,我可以Kubernetes Apiservice Requests
在下面看到日志Kubernetes Cluster
,但它们对我来说没有任何有意义的内容。
有什么想法去哪里看吗?
小智 1
发布此答案是为了提供更多一般概念,了解在哪里查找信息为什么Pod
处于Pending
状态,目前无法判断此特定设置。
Pod
检查为什么可以处于状态的方法Pending
:
$ kubectl describe pod POD_NAME
$ kubectl get events -A
Cloud Logging
(更多内容见下文)假设处于以下状态的Pod
情况Pending
:
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
nginx-four-99d88fccb-rwzmp 0/1 Pending 0 2s
nginx-one-8584c66446-h92rm 1/1 Running 0 5d22h
nginx-three-5bcb988986-tmshp 1/1 Running 0 5d22h
nginx-two-6c9545d7d4-2zlmh 1/1 Running 0 5d22h
Run Code Online (Sandbox Code Playgroud)
要获取有关其状态的更多信息,您可以运行:
$ kubectl describe pod POD_NAME
Event
上面输出的部分:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 26s (x2 over 114s) default-scheduler 0/1 nodes are available: 1 Insufficient cpu.
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,有关于为什么Pod
处于Pending
状态 ( Insufficient CPU
) 的信息。
您还可以运行:
$ kubectl get events
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 26s (x2 over 114s) default-scheduler 0/1 nodes are available: 1 Insufficient cpu.
Run Code Online (Sandbox Code Playgroud)
免责声明!
Kubernetes 事件存储在
etcd
1 小时内。如果状态消息Pod
在一段时间内没有重复,它将在 1 小时后删除。关于此特定主题的其他参考:
从以下位置检索日志Cloud Logging
:
您可以运行以下查询来获取Pods
处于Pending
状态的:
LAST SEEN TYPE REASON OBJECT MESSAGE
20s Warning FailedScheduling pod/nginx-four-99d88fccb-rwzmp 0/1 nodes are available: 1 Insufficient cpu.
14m Normal SuccessfulCreate replicaset/nginx-four-99d88fccb Created pod: nginx-four-99d88fccb-rwzmp
14m Normal ScalingReplicaSet deployment/nginx-four Scaled up replica set nginx-four-99d88fccb to 1
Run Code Online (Sandbox Code Playgroud)
此查询不会显示处于状态Insufficient CPU
的原因(如 )。为此,Issuetracker.google.com上有一个功能请求。您可以关注它以接收进一步的更新:Pod
Pending
其他资源:
归档时间: |
|
查看次数: |
9159 次 |
最近记录: |