Kubernetes不断创建对象

时间:2019-07-09 10:01:55

标签: kubernetes kubectl

作为K8的新手,我试图在Windows 10计算机上运行一些测试后清理整个命名空间。简而言之,我认为这与运行kubectl.exe删除部署一样容易,但是部署是在一秒钟后创建的,我不知道如何摆脱它们。有关我所做操作的详细信息,请参见以下内容:

1.kubectl get deployments,rs (看看我们已经拥有了什么)

NAME                               DESIRED   CURRENT   UP-TO-DATE   AVAILABLE AGE
deployment.extensions/postgresql   1         1         1            1           18m
deployment.extensions/redis        1         1         1            1           16m
NAME                                         DESIRED   CURRENT   READY     AGE  
replicaset.extensions/postgresql-c8cb9fff6   1         1         1         18m
replicaset.extensions/redis-5678477b7c       1         1         1         16m

2. kubectl scale deployment redis --replicas=0 (缩减部署规模)

deployment.extensions "redis" scaled

3. kubectl get deployments,rs (再次检查外观)

NAME                               DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
deployment.extensions/postgresql   1         1         1            1           21m
deployment.extensions/redis        0         0         0            0           19m
NAME                                         DESIRED   CURRENT   READY     AGE
replicaset.extensions/postgresql-c8cb9fff6   1         1         1         21m
replicaset.extensions/redis-5678477b7c       0         0         0         19m

4. kubectl delete deployment.extensions/redis (删除部署)

deployment.extensions "redis" deleted

5. kubectl get deployments,rs (再次检查并确认回来了!)

NAME                               DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
deployment.extensions/postgresql   1         1         1            1           23m
deployment.extensions/redis        1         1         1            1           27s  
NAME                                         DESIRED   CURRENT   READY     AGE
replicaset.extensions/postgresql-c8cb9fff6   1         1         1         23m
replicaset.extensions/redis-5678477b7c       1         1         1         27s

6. kubectl.exe get events(调查事件):
在其他内容中,我可以看到“按比例缩小副本集redis-5678477b7c缩小为0”,然后按“按比例放大副本集redis-5678477b7c缩小为1”,这看起来好像从未真正删除,而是在执行delete命令后立即再次按比例放大。

不确定我缺少什么,但已经检查了Kubernetes pod gets recreated when deletedHow to delete all resources from Kubernetes one time?等其他几篇文章,但都没有一个对我有用。

忘了说K8s集群是由Docker Desktop管理的。

1 个答案:

答案 0 :(得分:1)

  1. 使用kubectl delete deployment <the name of deployment >

  2. 如果您需要清理整个命名空间,请使用kubectl delete namespace <namespace-name>

  3. 然后,如果需要相同的名称空间,请通过kubectl create ns命令重新创建相同的名称空间。

  4. 您还可以通过对对象使用--all选项来清理名称空间:

例如

   kubecetl delete deployment --all
   kubecetl delete statefulset --all
   kubectl delete pvc --all
   kubectl delete secrets --all
   kubectl delete service --all

以此类推。

@David Maze 指出,您要删除ReplicaSet而不是Deployment that's managing it

来自documentation

  

您可以定义部署以创建新的副本集

Deployment将自动创建和管理一个ReplicaSet来控制容器。您需要删除部署以擦除其托管资源。