任務

eryoung2發表於2024-04-29

任務

檢查在namespace development中執行的pod,並刪除任何非無狀態和非不可變的pod

名詞解釋:
無狀態應用:指應用本身不依賴於持久化的狀態資料,沒有儲存掛載,更強調每個請求的獨立性。
不可變應用:一旦程式部署完成,其狀態不會在執行時被直接修改,更強調pod的穩定性和不變性。

主要刪除的就是兩種pod:

  1. privileged: true的pod # 允許特權的pod
  2. readOnlyRootFileSystem: false #只讀檔案系統為false的pod
  3. 有pvc、hostpath掛載的
  4. ConfigMap、Secret、Download API、emptyDir不算。

解題

  1. 檢查development下所有pod
kubectl get pod -n development
  1. 挨個檢查,如果發現非無狀態應用和非不可變應用就刪掉。
kubectl get pod xxx -n development -oyaml |grep -E "privileged|readOnlyRootFileSystem" #檢查非不可變應用
kubectl get pod xxx -n development -oyaml|grep "persistentvolumeclaim" #檢查非無狀態應用
kubectl get pod xxx -n development -oyaml|grep "hostpath"

kubectl delete pod xxx -n development

相關文章