删除后重新创建 kubernetes 部署/复制集

kubernetes deployments / replicasets are recreated after deletion

我正在尝试删除集群中的一些旧部署/副本集,但是当我 运行 kubectl delete deployment 时 它会说 deployment 被删除并且来自该 deployment 的 pod 正在终止,但几秒钟后部署被神奇地重新创建并且 pod 回来了。 这与我拥有的另一个副本集的结果相同。

什么可能会重新创建这些部署/副本集,我该如何停止它以便永久删除这些 deployments/rs?

编辑:这是一些输出。这是在 GKE btw 中的 kubernetes 集群上:

kubectl get deployments
NAME             READY   UP-TO-DATE   AVAILABLE   AGE
quickstart-kb    1/1     1            1           41m
ubuntu           1/1     1            1           66d

kubectl get pods
NAME                              READY   STATUS    RESTARTS   AGE
ubuntu-677fc9fd77-fgd7k           1/1     Running   0          19d
quickstart-kb-f9b65577f-4fxph     1/1     Running   0          40m

kubectl delete deployment quickstart-kb
deployment.extensions "quickstart-kb" deleted

kubectl get deployments
NAME             READY   UP-TO-DATE   AVAILABLE   AGE
quickstart-kb    0/1     1            0           7s
ubuntu           1/1     1            1           66d

kubectl get pods
NAME                              READY   STATUS    RESTARTS   AGE
quickstart-kb-6cb6cf897d-qcjff    0/1     Running   0          11s
ubuntu-677fc9fd77-fgd7k           1/1     Running   0          19d

kubectl get deployments
NAME             READY   UP-TO-DATE   AVAILABLE   AGE
quickstart-kb    1/1     1            1           4m6s
ubuntu           1/1     1            1           66d

kubectl get pods
NAME                              READY   STATUS    RESTARTS   AGE
quickstart-kb-6cb6cf897d-qcjff    1/1     Running   0          4m13s
ubuntu-677fc9fd77-fgd7k           1/1     Running   0          19d

我认为您的部署对象是通过部署一些自定义资源 (CRD) 创建的。

当您创建 CRD 时,CRD 控制器创建了部署对象。所以,即使你删除了部署对象,CRD控制器re-creates它。

删除 CRD 对象本身,以删除使用它创建的部署和其他对象(如果有)。

从名字看,好像是Kibana CRD对象:

apiVersion: kibana.k8s.elastic.co/v1
kind: Kibana

使用以下命令删除 Kibana 对象:

$ kubectl delete Kibana quickstart-kb