Удаление зависаний пространства имен в финализаторе пользовательских ресурсов - PullRequest
0 голосов
/ 02 июня 2019

Я определил контроллер (оператор) для обработки некоторых пользовательских ресурсов в моем пространстве имен K8S.каждый пользовательский ресурс имеет финализатор, поэтому контроллер может обработать его до того, как он будет удален:

например,

kind: MyCustom
metadata:
 finalizers:
    - MyCustom.finalizers.com
 name: mycustomResourceInstance

, это работает хорошо, пока я не удалю пространство имен ("kubectl delete ns"),если мусор k8s сначала собирает модуль контроллера - «mycustomResourceInstance» остается застрявшим в состоянии удаления и предотвращает успешное удаление пространства имен.

Обходной путь - отредактировать mycustomResourceInstance и удалить финализатор.

естьЛюбой способ убедиться, что контроллер не будет удален, а в пространстве имен существуют какие-либо экземпляры пользовательского ресурса?

1 Ответ

0 голосов
/ 02 июня 2019

Вы должны просмотреть ссылки на владельцев и удаление каскадного переднего плана https://kubernetes.io/docs/concepts/workloads/controllers/garbage-collection/ и внедрить их в свой контроллер, чтобы сборщик мусора удалял ваши объекты по порядку.

...