kubectl删除部署不删除Pod和副本集

时间:2020-09-09 05:29:20

标签: kubernetes

我们在k8s中运行以下命令

kubectl部署我们的部署名称

这似乎删除了名为our-deployment-name fine的部署。但是,我们还希望将下面的副本集和Pod删除为“我们的部署名称”。

读取文档尚不清楚默认行为是否应级联删除副本集和Pod。有人知道如何删除部署以及所有相关的副本集和Pod吗?还是我也必须手动删除所有这些资源?

当我删除部署时,我有一个像这样的孤立副本集...

dev@jenkins:~$ kubectl describe replicaset.apps/wc-892-74697d58d9
Name:           wc-892-74697d58d9
Namespace:      default
Selector:       app=wc-892,pod-template-hash=74697d58d9
Labels:         app=wc-892
                pod-template-hash=74697d58d9
Annotations:    deployment.kubernetes.io/desired-replicas: 1
                deployment.kubernetes.io/max-replicas: 2
                deployment.kubernetes.io/revision: 1
Controlled By:  Deployment/wc-892
Replicas:       1 current / 1 desired
Pods Status:    1 Running / 0 Waiting / 0 Succeeded / 0 Failed
Pod Template:
  Labels:  app=wc-892
           pod-template-hash=74697d58d9
  Containers:
   wc-892:
    Image:      registry.digitalocean.com/galatea/wastecoordinator-wc-892:1
    Port:       8080/TCP
    Host Port:  0/TCP
    Limits:
      memory:           800Mi
    Environment:        <none>
    Mounts:             <none>
  Volumes:              <none>
  Priority Class Name:  dev-lower-priority
Events:
  Type    Reason            Age   From                   Message
  ----    ------            ----  ----                   -------
  Normal  SuccessfulCreate  11m   replicaset-controller  Created pod: wc-892-74697d58d9-jtj9t
dev@jenkins:~$

3 个答案:

答案 0 :(得分:0)

正如您在副本集Controlled By: Deployment/wc-892中所看到的,这意味着删除部署wc-892应该删除副本集,而副本集又将删除标签为app=wc-892的Pod。

答案 1 :(得分:0)

首先获取要删除的部署

kubectl get deployments

并删除您想要的部署

kubectl delete deployment yourdeploymentname

这将删除副本集和与其关联的Pod。

答案 2 :(得分:-1)

kubectl delete deployment <deployment>将删除与部署关联的所有副本集以及与这些副本集关联的活动吊舱。

控制器管理器或API服务器在处理删除请求时可能出现问题。因此,建议您查看这些日志以进行验证。

注意,是否有可能将较旧的副本集附加到命名空间中的其他内容上?尝试列出并查看元数据。使用kubectl describe rs <rs>kubectl get rs -o yaml