![](/img/trans.png)
[英]How to stop google cloud app engine to restart the discord python bot?
[英]in a google cloud Kubernetes cluster my pods sometimes all restart, how do I find the reason for the restart?
我的所有 pod 有時都會重新啟動,我不確定如何弄清楚為什么會這樣。 谷歌雲中有什么地方可以獲取該信息嗎? 或要運行的 kubectl 命令? 它每隔幾個月左右發生一次。 也許沒有那么頻繁。
檢查您的集群和節點池操作也是一件好事。
gcloud container operations list
kubectl get nodes
請注意,您必須在查詢中添加集群和節點池名稱。
控制平面(master)升級:
resource.type="gke_cluster"
log_id("cloudaudit.googleapis.com/activity")
protoPayload.methodName:("UpdateCluster" OR "UpdateClusterInternal")
(protoPayload.metadata.operationType="UPGRADE_MASTER"
OR protoPayload.response.operationType="UPGRADE_MASTER")
resource.labels.cluster_name=""
節點池升級
resource.type="gke_nodepool"
log_id("cloudaudit.googleapis.com/activity")
protoPayload.methodName:("UpdateNodePool" OR "UpdateClusterInternal")
protoPayload.metadata.operationType="UPGRADE_NODES"
resource.labels.cluster_name=""
resource.labels.nodepool_name=""
使用以下方法檢查 pod 重啟的原因:
使用kubectl describe deployment <deployment_name>
和kubectl describe pod <pod_name>
其中包含信息。
# Events:
# Type Reason Age From Message
# ---- ------ ---- ---- -------
# Warning BackOff 40m kubelet, gke-xx Back-off restarting failed container
# ..
可以看到由於鏡像拉取退避,pod 重啟了。 我們需要解決該特定問題。
使用以下命令檢查日志: kubectl logs <pod_name>
要獲取容器(重新啟動的容器)的先前日志,您可以在 pod 上使用 --previous 鍵,如下所示:
kubectl logs your_pod_name --previous
您還可以將最終消息寫入 /dev/termination-log,這將按照docs中的描述顯示。
附上故障排除文檔以供參考。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.