Я пытаюсь реализовать моего первого оператора в Кубернетесе. Я хочу, чтобы контроллер оператора мог сравнивать конфигурацию в запущенном модуле с ожидаемой конфигурацией, определенной в определении пользовательского ресурса.
Например: пользовательский ресурс
apiVersion: test.com/v1alpha1
kind: TEST
metadata::
name: example-test
spec:
replicas: 3
version: 20:03
config:
valueA: true
valueB: 123
Указанный выше пользовательский ресурс развернут и 3 модуля работают. Изменение сделано так, что конфигурация "valueA" изменена на false.
В функции согласования контроллера GO я могу получить экземпляр TEST и увидеть "новую" версию конфигурации:
instance := &testv1alpha1.TEST{}
log.Info("New value : " + instance.Spec.Config.valueA)
Мне интересно, как я могу получить доступ к значению "valueA" в моих запущенных модулях, чтобы я мог сравнивать и воссоздавать блоки, если они изменились?
Также второстепенный вопрос, мне нужно l oop через все запущенные модули в функции согласования, чтобы проверить каждую или я могу сделать это как одну операцию?