Kubernetes 不断创建对象
Kubernetes keeps creating objects
作为 K8s 的新手,我试图在 运行 在 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
(调查事件):
除其他外,我可以看到 "Scaled down replica set redis-5678477b7c to 0" 然后是 "Scaled up replica set redis-5678477b7c to 1",看起来它从未真正被删除,但在执行删除命令后立即再次放大。
不确定我遗漏了什么,但已经检查了其他几个帖子,例如 and ,但没有一个对我有用。
忘了说K8s集群是由Docker桌面管理的
使用kubectl delete deployment <the name of deployment >
如果您需要清理整个命名空间,请使用 kubectl delete namespace <namespace-name>
然后通过kubectl create ns
命令re-create相同的命名空间,如果你需要相同的命名空间。
您还可以通过对对象使用 --all 选项来清理命名空间:
例如
kubecetl delete deployment --all
kubecetl delete statefulset --all
kubectl delete pvc --all
kubectl delete secrets --all
kubectl delete service --all
等等。
正如 @David Maze 所指出的,您正在删除 ReplicaSet instead of the Deployment that's managing it.
You can define Deployments to create new ReplicaSets
Deployment 会自动创建和管理 ReplicaSet 来控制 pods。您需要删除 Deployment 以清除其托管资源。
作为 K8s 的新手,我试图在 运行 在 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
(调查事件):
除其他外,我可以看到 "Scaled down replica set redis-5678477b7c to 0" 然后是 "Scaled up replica set redis-5678477b7c to 1",看起来它从未真正被删除,但在执行删除命令后立即再次放大。
不确定我遗漏了什么,但已经检查了其他几个帖子,例如
忘了说K8s集群是由Docker桌面管理的
使用
kubectl delete deployment <the name of deployment >
如果您需要清理整个命名空间,请使用
kubectl delete namespace <namespace-name>
然后通过
kubectl create ns
命令re-create相同的命名空间,如果你需要相同的命名空间。您还可以通过对对象使用 --all 选项来清理命名空间:
例如
kubecetl delete deployment --all
kubecetl delete statefulset --all
kubectl delete pvc --all
kubectl delete secrets --all
kubectl delete service --all
等等。
正如 @David Maze 所指出的,您正在删除 ReplicaSet instead of the Deployment that's managing it.
You can define Deployments to create new ReplicaSets
Deployment 会自动创建和管理 ReplicaSet 来控制 pods。您需要删除 Deployment 以清除其托管资源。