尝试删除时找不到 Pod,但是可以打补丁
Pod is not found when trying to delete, however, can be patched
我有一个可以在 GKE 上看到的 pod。但是,如果我尝试删除它们,则会出现错误:
kubectl delete pod my-pod --namespace=kube-system --context=cluster-1
Error from server (NotFound): pods "my-pod" not found
但是,如果我尝试修补它,操作已成功完成:
kubectl patch deployment my-pod --namespace kube-system -p "{\"spec\":{\"template\":{\"metadata\":{\"annotations\":{\"secrets-update\":\"`date +'%s'`\"}}}}}" --context=cluster-1
deployment.apps/my-pod patched
相同的命名空间、相同的上下文、相同的 pod。为什么 kubectl 删除 pod 失败?
kubectl patch deployment my-pod --namespace kube-system -p "{\"spec\":{\"template\":{\"metadata\":{\"annotations\":{\"secrets-update\":\"`date +'%s'`\"}}}}}" --context=cluster-1
您正在修补此处的 部署,而不是 pod。
此外,您的 pod 不会被称为“my-pod”,而是会被称为您部署的名称加上哈希值(字母和数字的随机集合) ,类似于“my-pod-ace3g”
要查看命名空间中的 pods,请使用
kubectl get pods -n {namespace}
由于您已将部署置于“kube-system”命名空间中,因此您将使用
kubectl get pods -n kube-system
旁注:通常不要使用 kube-system
命名空间,除非您的部署与集群功能相关。有一个名为 default
的命名空间,您可以使用它来测试
我有一个可以在 GKE 上看到的 pod。但是,如果我尝试删除它们,则会出现错误:
kubectl delete pod my-pod --namespace=kube-system --context=cluster-1
Error from server (NotFound): pods "my-pod" not found
但是,如果我尝试修补它,操作已成功完成:
kubectl patch deployment my-pod --namespace kube-system -p "{\"spec\":{\"template\":{\"metadata\":{\"annotations\":{\"secrets-update\":\"`date +'%s'`\"}}}}}" --context=cluster-1
deployment.apps/my-pod patched
相同的命名空间、相同的上下文、相同的 pod。为什么 kubectl 删除 pod 失败?
kubectl patch deployment my-pod --namespace kube-system -p "{\"spec\":{\"template\":{\"metadata\":{\"annotations\":{\"secrets-update\":\"`date +'%s'`\"}}}}}" --context=cluster-1
您正在修补此处的 部署,而不是 pod。
此外,您的 pod 不会被称为“my-pod”,而是会被称为您部署的名称加上哈希值(字母和数字的随机集合) ,类似于“my-pod-ace3g”
要查看命名空间中的 pods,请使用
kubectl get pods -n {namespace}
由于您已将部署置于“kube-system”命名空间中,因此您将使用
kubectl get pods -n kube-system
旁注:通常不要使用 kube-system
命名空间,除非您的部署与集群功能相关。有一个名为 default
的命名空间,您可以使用它来测试