Используя полный декларативный подход в Kubernetes - PullRequest
0 голосов
/ 15 октября 2018

Мы можем использовать декларативный подход для создания и обновления ресурсов kubernetes, используя kubectl apply -f, как мы можем сделать то же самое для утилизации ресурсов, которые больше не нужны.

Я использовал kubectl delete, но это выглядит как необходимость, и иногда нам нужно будет удалять вещи в правильном порядке.

Есть ли способ всегда использовать kubectl apply, и он сам определяет, какие ресурсы оставить, а какие удалить.Как и в Terraform.

Или мы должны сделать вывод, что в настоящее время декларативный подход работает только для создания и обновления ресурсов.

Вариант использования:

Например, мы решили не предоставлять API K8S конечным пользователям, а вместо этого предоставить им хранилище, в котором они хранят и обновляют свои файлы yaml, которые бот может применять к кластеру при каждом обновлении при объединении запроса на извлечение.Так что нам нужно это декларативное удаление, чтобы нам не приходилось убирать вещи после пользователей.Terraform провайдер может быть решением, но в этом случае все будет зависеть от терраформирования, и пользователям потребуется изучить еще один инструмент вместо использования собственного формата k8s.

1 Ответ

0 голосов
/ 15 октября 2018

Обрезает, что они добавили декларативный подход для сокращения ресурсов, которых больше нет в манифестах yaml:

kubectl apply -f <directory/> --prune -l your=label

Слишком много предостережений.

В качестве альтернативы kubectl delete вы можете использовать kubectl apply для идентификации объектов, которые будут удалены после удаления их файлов конфигурации из каталога.Применить с помощью --prune запрашивает у сервера API все объекты, соответствующие набору меток, и пытается сопоставить возвращенные конфигурации живых объектов с файлами конфигурации объектов.Если объект соответствует запросу, и у него нет файла конфигурации в каталоге, и он имеет аннотацию последней примененной конфигурации, он удаляется.

...