kubectl 展示搜索出的pod列表(含pod所在的namespace)
kubectl get pod -A grep <podname>
[root@tcs-10-21-0-157 ~]# kubectl get pod -A |grep yhl
ingress-nginx-yhl-large yhl-large-ingress-nginx-controller-dc666995f-djk8k 1/1 Running 0 46d
ingress-nginx-yhl-large yhl-large-ingress-nginx-controller-dc666995f-fncrq 1/1 Running 0 2m46s
ingress-nginx-yhl-large yhl-large-ingress-nginx-controller-dc666995f-wxz2f 1/1 Running 0 4m30s
ingress-nginx-yhl yhl-ingress-nginx-controller-fd565dddc-44z2d 1/1 Running 0 45d
ingress-nginx-yhl yhl-ingress-nginx-controller-fd565dddc-nlst8 1/1 Running 0 45d
ingress-nginx-yhl yhl-ingress-nginx-controller-fd565dddc-sjqx7 1/1 Running 0 45d
kubectl 刪除pod命令
kubectl delete pod <podname> -n <namespace>
在進行刪除pod命令時,會發現pod並未被真正刪除,原因是k8s誤認為我們要刪除的pod異常掛了,會啟用容災機制,導致重新在拉起一個新的pod。
故,我們想要正常且徹底的刪除一個pod,必須要先破壞掉他的容災機制,即刪除deployment機制。
查看deployment信息
kubectl get deployment -n <namespace>
[root@tcs-10-21-0-157 ~]# kubectl get deployment -n ingress-nginx-yhl
NAME READY UP-TO-DATE AVAILABLE AGE
yhl-ingress-nginx-controller 3/3 3 3 45d
刪除deployment配置
kubectl delete deployment <deployment名> -n <namespace>
[root@tcs-10-21-0-157 ~]# kubectl delete deployment yhl-ingress-nginx-controller -n ingress-nginx-yhl
deployment.apps "yhl-ingress-nginx-controller" deleted
然后進行刪除pod命令即可,我刪除deployment后,再次查詢pod發現,上面的pod已經開始自行刪除了(這步可酌情處理)
kubectl delete pod <podname> -n <namespace>
# 附一個我這邊刪除deployment后pod自行刪除的情況
[root@tcs-10-21-0-157 ~]# kubectl get pod -A|grep yuhonglei
ingress-nginx-yhl yhl-ingress-nginx-controller-fd565dddc-44z2d 1/1 Terminating 0 45d
ingress-nginx-yhl yhl-ingress-nginx-controller-fd565dddc-nlst8 1/1 Terminating 0 45d
ingress-nginx-yhl yhl-ingress-nginx-controller-fd565dddc-sjqx7 1/1 Terminating 0 45d