Обновление аннотаций к метаданным

Я использую kubebuilder для создания оператора Kubernetes. Когда инициируется объект моего типа, я должен проанализировать спецификацию и обновить объекты на основе нескольких вычислений.

Насколько я могу судить, я могу либо обновить статус объекта, метаданные или управляемое поле (я могу ошибаться?). Похоже, чтоsigs.k8s.io/controller-runtime/pkg/clientбиблиотека отвечает за то, как обновлять эти поля (я не совсем уверен). У меня проблемы с пониманием документации.

У меня есть следующие вопросы:

  • Есть ли руководство по передовым методам хранения конфигурации объекта между статусом, метаданными (метками или аннотациями) и управляемыми полями?
  • Как мне обновить / исправить аннотации объекта аналогично тому, как я бы использовал r.Status().Update(ctx, &thing); обновить статус?

1 ответ

Решение

Документация Kubebuilder немного сырая, но, тем не менее, является удобным руководством при создании CRD и контроллеров с помощью Kubebuilder. Он проведет вас через довольно подробный пример, который здорово изучить и вернуться к нему, чтобы увидеть, как делать определенные вещи.

Обычно ответ на ваш вопрос: "Это зависит от обстоятельств". Какие значения вы рассчитываете и почему? Зачем нужно хранить их на объекте? Связан ли жизненный цикл этих данных с жизненным циклом этого объекта, или эти вычисленные данные должны существовать и использоваться другими контроллерами, даже когда объект удален? В общем, будет ли что-нибудь взаимодействовать с этими ценностями? Что он будет с ними делать?

Если ничто другое, кроме контроллера согласования для CRD, не будет взаимодействовать с данными, которые вы вводите, подумайте о том, чтобы поместить их в статус объекта.

Делать r.Status().Update(ctx, &thing) предотвратит запуск каких-либо побочных эффектов, поскольку сохранит только изменения, внесенные вами в подресурс Status объекта, а не его спецификацию или метаданные.

Обычно с настраиваемыми ресурсами устанавливают и удаляют финализаторы, которые находятся в метаданных объекта.

Другие вопросы по тегам