Kubernetes продолжает создавать объекты - PullRequest
0 голосов
/ 09 июля 2019

Будучи новичком в K8s, я пытаюсь очистить все пространство имен после выполнения некоторых тестов на компьютере с Windows 10.Короче говоря, я думал, что это будет так же просто, как запуск kubectl.exe delete deploy, но развертывания создаются через секунду, и я не знаю, как от них избавиться.См. Ниже подробности того, что я сделал:

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», которая выглядит так, как будто ее никогда не былоудален, но сразу же увеличен снова после выполнения команды удаления.

Не уверен, что мне не хватает, но я уже проверил пару других сообщений, таких как Модуль Kubernetes воссоздается при удалении и Как удалить все ресурсы из Kubernetes один раз? но никто не работал для меня.

Забыл сказать, что кластером K8s управляет Docker Desktop.

1 Ответ

1 голос
/ 09 июля 2019
  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 вместо Развертывания, управляющего им .

Из документации :

Вы можете определить Развертывания всоздать новые ReplicaSets

При развертывании будет автоматически создан ReplicaSet для управления модулями и управления им.Вам нужно удалить развертывание, чтобы стереть его управляемые ресурсы.

...