使用describe命令進行Kubernetes pod錯誤排查
我有一個pod名叫another,用kubectl create建立後發現過了29分鐘,狀態還是處於ContainerCreating階段。
使用kubectl describe命令檢查:
從錯誤訊息發現是因為這個pod attach volume失敗:
FailedAttachVolume 2m1s (x22 over 31m) attachdetach-controller AttachVolume.Attach failed for volume "pvc-c4d41f5c-e7ed-11e8-8726-fe6d42bf075f" : googleapi: Error 400: RESOURCE_IN_USE_BY_ANOTHER_RESOURCE - The disk resource 'projects/sap-pi-coo-acdc-dev/zones/europe-west1-b/disks/shoot--k8s-train--shac-pvc-c4d41f5c-e7ed-11e8-8726-fe6d42bf075f' is already being used by 'projects/sap-pi-coo-acdc-dev/zones/europe-west1-b/instances/shoot--k8s-train--shacw46-worker-prvfv-z1-7844dc6744-ghd5m'
Warning FailedMount 31s (x14 over 29m) kubelet, shoot--k8s-train--shacw46-worker-prvfv-z1-7844dc6744-hhrmd Unable to mount volumes for pod "another_part-0110(13f15fa4-e819-11e8-8726-fe6d42bf075f)": timeout expired waiting for volumes to attach or mount for pod "part-0110"/"another". list of unmounted volumes=[content-storage]. list of unattached volumes=[content-storage default-token-6z5sk]
檢視這個pod的yaml檔案,果然發現有一個persistent volume的claim:
用命令kubectl get pv, 發現當前所有的persistent volume都被佔用了(BOUND狀態):
解決方案有很多種,處於測試目的,我只是簡單地將另一個同樣宣告瞭nginx-pvc作為PersistentVolumeClaim的pod刪除,然後這個名為another的pod狀態就很快變成Running了:
從describe命令生成的日誌裡也能清楚的觀察到這個成功mount volume的事件:
Normal SuccessfulAttachVolume 84s attachdetach-controller AttachVolume.Attach succeeded for volume "pvc-c4d41f5c-e7ed-11e8-8726-fe6d42bf075f"
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2220728/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 通過describe命令學習Kubernetes的pod屬性詳解
- Kubernetes Pod OOM 排查日記OOM
- kubernetes 載入pod出現ErrImageNeverPull錯誤
- Kubernetes 使用arthas進行除錯除錯
- sendEmail安裝使用及錯誤排查AI
- heartbeat錯誤排查
- Kubernetes的Pod進階(十一)
- 排查錯誤日誌
- Pod常使用命令
- 使用ErrorStack進行錯誤跟蹤及診斷Error
- 使用ErrorStack進行錯誤跟蹤及診斷!Error
- pod install命令後tool 'xcodebulid' required Xcode...錯誤XCodeUI
- MySQL中的describe命令MySql
- 如何優雅的在 Kubernetes Pod 內進行網路抓包
- 使用 sudo 命令出現錯誤
- 使用ErrorStack進行Oracle錯誤跟蹤及診斷ErrorOracle
- 使用ERRORSTACK進行錯誤跟蹤及診斷(轉)Error
- 由淺入深,帶你進行容器錯誤隔離排查|航海日誌 Vol.19
- 使用錯誤的運算子進行字串比較缺陷漏洞字串
- mysql執行命令報segmentation fault 錯誤MySqlSegmentation
- NBU available_media 命令執行錯誤AI
- ECSAPI中Signature錯誤的排查方法API
- kubernetes進階(05)kubernetes的命令
- Kubernetes Pod驅逐策略
- Kubernetes Pod 全面知識
- Kubernetes:Pod總結(二)
- Kubernetes:28---pod託管(Job:任務型pod)
- Minikube:使用 Kubernetes 進行本地開發
- 使用kubernetes的10個最常見錯誤 – pipetail BlogAI
- Kubernetes 無法查詢到並且無法刪除pod例項的排查過程
- 使用 getopt() 進行命令列處理命令列
- 在K8S中,在服務上線的時候Pod起不來怎麼進行排查?K8S
- Kubernetes之Pod工作負載負載
- IIS 7.5 解析錯誤 命令執行漏洞解決方案
- Abp框架之執行Update-Database 命令系列錯誤框架Database
- CentOS 中yum命令執行錯誤解決辦法CentOS
- ftp錯誤命令速查(轉)FTP
- 使用exp進行SQL報錯注入SQL