Я пишу контроллер Kubernetes.
Кто-то создает пользовательский ресурс через kubectl apply -f custom-resource.yaml
. Мой контроллер замечает создание, а затем создает Deployment
, который каким-то образом относится к пользовательскому ресурсу.
Я ищу правильный способ настройки поля Deployment
*1007*, чтобы удаление пользовательского ресурса привело к удалению Deployment
. Я понимаю, что могу сделать это так:
ownerReferences:
- kind: <kind from custom resource>
apiVersion: <apiVersion from custom resource>
uid: <uid from custom resource>
controller: <???>
Мне неясно, является ли это случаем, когда я бы установил controller
на true
.
Справочная документация Kubernetes гласит (полностью):
Если true, эта ссылка указывает на управляющий контроллер.
Учитывая, что контроллер выполняет код, а ссылка на владельца фактически ссылается на другой ресурс Kubernetes через соответствующие поля uid
, name
, kind
и apiVersion
, это утверждение бессмысленно: ссылка на объект Kubernetes может ' код "указать на".
У меня есть ощущение, что автор документации пытается указать, что & mdash; используя мой пример & mdash; поскольку пользователь сам не создал Deployment
, он должен быть помечен каким-то флагом, указывающим, что контроллер создал его вместо этого.
Это правильно?
Здесь, конечно, следуют следующие вопросы: ОК, какое поведение изменится, если controller
установлено здесь false
, но другие поля ownerReference
установлены так же, как указано выше?