HELM admission is constantly creating Pod in status "Container Creating"

HELM admission is constantly creating Pod in status "Container Creating"

我使用的是K8S 19.

我尝试在我的服务器上安装第二个 nginx-ingress 控制器(我已经为 Linux 安装了一个,所以我也尝试为 Windows 安装)

helm install nginx-ingress-win ingress-nginx/ingress-nginx 
-f internal-ingress.yaml 
--set controller.nodeSelector."beta\.kubernetes\.io/os"=windows 
--set defaultBackend.nodeSelector."beta\.kubernetes\.io/os"=windows 
--set controller.admissionWebhooks.patch.nodeSelector."beta\.kubernetes\.io/os"=windows 
--set tcp.9000="default/frontarena-ads-win-test:9000"

失败并显示“错误:预安装失败:等待条件超时”。

所以我有 运行 helm uninstall 来删除那个图表

helm uninstall nginx-ingress-win
release "nginx-ingress-win" uninstalled

但我不断创建 Validation Webhook Pod

kubectl get pods
NAME                                                      READY   STATUS              RESTARTS   AGE

nginx-ingress-win-ingress-nginx-admission-create-f2qcx    0/1     ContainerCreating   0          41m

我用 kubectl delete pod 删除了 pod,但它一次又一次地被创建。

我也试过了 kubectl delete -A ValidatingWebhookConfiguration nginx-ingress-win-ingress-nginx-admission 但我收到所有组合的消息 not found。我该如何解决这个问题以及如何摆脱这个问题? 谢谢!!!

如果这个PodDeployment,StatefulSet,DaemonSet等管理,每次删除它都会自动重新创建,所以尝试在大多数情况下删除 Pod 没有多大意义。

如果您想查看是什么控制了这个 Pod,运行:

kubectl describe pod nginx-ingress-win-ingress-nginx-admission-create-f2qcx | grep Controlled

您可能会看到一些 ReplicaSet,它们也由 Deployment 或其他对象管理。假设我想检查我应该删除什么以摆脱我的 nginx-deployment-574b87c764-kjpf6 Pod。我可以这样做:

$ kubectl describe pod nginx-deployment-574b87c764-kjpf6 | grep -i controlled
Controlled By:  ReplicaSet/nginx-deployment-574b87c764

然后我需要再次 运行 kubectl describe 我们发现 ReplicaSet 的名称:

$ kubectl describe rs nginx-deployment-574b87c764 | grep -i controlled
Controlled By:  Deployment/nginx-deployment

最后我们可以看到它是由一个名为 nginx-deploymentDeployment 管理的,这是我们需要删除的资源以摆脱我们的 nginx-deployment-574b87c764-kjpf6 Pod .