Ссылка на объект Кубе - PullRequest
0 голосов
/ 03 марта 2020

Я хочу сослаться на свойство объекта, созданного CRD.

Вот мой пример. Я создаю экземпляр Cloud SQL, используя CRD из https://github.com/GoogleCloudPlatform/k8s-config-connector.

. Создается экземпляр с IP. Я хочу сослаться на IP-адрес в другом ресурсе.

Есть ли что-то похожее на нисходящий API, который позволит мне это сделать?

Если я не могу сделать это, я могу сделать это естественным образом это с помощью сторонних шаблонизаторов, таких как Helm, Helmfile или Kustomize?

1 Ответ

1 голос
/ 03 марта 2020

Ничего особенного, то, как мы это делаем, контроллер предоставляет информацию, такую ​​как IP или имя хоста, в подструктуре Status подчиненного объекта, а затем копирует ее в Status объекта root, и затем мы прочитайте это и вставьте его в файл конфигурации.

https://github.com/Ridecell/ridecell-operator/blob/39344f4318ff3bcb68ce32dd4319b655a60277da/pkg/controller/summon/components/postgres.go#L58 -L61 - пример копирования, но он в нашей структуре, поэтому, вероятно, не очень полезен напрямую.

Еще одна опция, которую мы используем в других местах, - создание контейнера инициализации, который читает из статуса CRD и записывает (или преобразовывает) файлы конфигурации. Примером этого является https://github.com/Ridecell/ridecell-operator/blob/39344f4318ff3bcb68ce32dd4319b655a60277da/cmd/initcontainer/main.go#L181 -L203

...