Контроллер Kubernetes обновляет поле статуса CR со значениями из вывода пода в GO - PullRequest
1 голос
/ 13 июля 2020

Используя Operator-sdk , я развертываю CR, у которого есть задание с модулем. CR имеет структуру статуса, подобную приведенной ниже

type CRStatus struct {
    TestStatus string `json:"testStatus"`
    TestCount int `json:"testCount"`
}

Pod выполняет некоторую обработку и выводит выходные значения TestStatus и TestCount. Как может контроллер operator-sdk обновлять поля TestStatus и TestCount CR значениями из вывода Pod задания?

1 Ответ

1 голос
/ 14 июля 2020

Вы можете начать с создания контроллера (возможно, у вас уже есть):

operator-sdk add controller --api-version=example.com/v1alpha1 --kind=YourCRApp

Затем в реализации вы захотите использовать Kubernetes Informers / SharedInformers, добавив вызов AddEventHandler чтобы узнать, изменилось ли какое-либо значение на каком-либо ресурсе Kubernetes. Вы можете найти образец контроллера в исходном коде Kubernetes . Кроме того, в Интернете доступно множество ресурсов, которые помогут вам создать контроллер и использовать информеры. Вот несколько примеров:

...