使用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的原創文章,請關注公眾號"汪子熙":
總結
以上是生活随笔為你收集整理的使用describe命令进行Kubernetes pod错误排查的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华硕预热新款轻薄本:1kg 重,1cm
- 下一篇: Rockstar 已修复 Win11 2