簡體   English   中英

如何調試狀態為錯誤的 kubernetes pod

[英]How to debug a kubernetes pod whose status is error

我正在構建我的 docker 映像,然后使用 kubernetes 進行部署。

當我執行以下命令時:

kubectl get pods 

NAME                          READY   STATUS    RESTARTS   AGE
lmhfhfhf-def-abc            0/1     Error   0          2m

我幾乎可以肯定,這是因為我的代碼更改。 我如何調試這個 pod 以找出我的代碼中的邏輯錯誤。請幫助。

您應該檢查以下事項

  1. 使用“kubectl describe”檢查 Pod 事件

kubectl 描述 pod pod-name

  1. 使用檢查 pod 相關日志

kubectl 記錄 pod 名稱

  1. 檢查您的 Kubernetes 集群的所有事件

kubectl 獲取事件

歡迎來到社區@witti_minds

@user2830517 和 @andD 通常已經回答了這個問題,但是我想添加更多細節和來源。

您的 pod 崩潰了,但是由於它已被安排,用於運行 pod 的選項將起作用( k8s debug unhealthy pods

首先,您應該通過運行以下命令來獲取有關您的 pod 的所有信息,這將為您提供有關您的 pod 的所有信息( k8s pod 檢查):

kubectl describe pod %pod_name%

然后你應該做的是使用以下命令檢查 POD 的日志:

kubectl logs lmhfhfhf-def-abc %container_name%

容器名稱在這里是可選的,如果你的 pod 有超過 1 個容器,你必須使用它。 您還可以查看 Pod 之前 state 的日志:

kubectl logs --previous %pod_name% %container_name%

一旦您的容器啟動並運行,您可以通過使用exec命令直接在 pod 中運行命令來繼續對應用程序進行故障排除:

kubectl exec -it %pod_name% -- sh

可能的排錯方法有很多種,這里都介紹了k8s調試一個正在運行的pod

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM