删除后重新创建 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
我正在尝试删除集群中的一些旧部署/副本集,但是当我 运行 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