Возможно ли проанализировать поле состояния неструктурированного k8s. Неструктурированный

#go #kubernetes #client-go

#Вперед #kubernetes #клиент-перейти

Вопрос:

Я пытаюсь написать контроллер k8s, внутри контроллера я хочу проанализировать файл YAML из Github unstructured. Unstructured . После синтаксического анализа я хочу отследить статус примененного экземпляра unstructured. Unstructured . Отслеживание попытается перехватить, есть ли определенное значение ключа.

Мне не удалось этого сделать, поскольку unstructured. Unstructured у него нет метода для получения статуса. Затем я пытался преобразовать его в JSON и найти статус, также не удалось…

Если вы знаете способ добиться этого, это было бы здорово.

Ответ №1:

Неструктурированный пакет предоставляет «вложенные» функции. https://godoc.org/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured

Для статуса вы бы использовали:

 unstructured.NestedStringMap(myunstruct.Object, "status")
  

Для сообщения о состоянии:

 unstructured.NestedString(myunstruct.Object, "status", "message")
  

Подробнее о динамическом клиенте см. в главе 4 «Программирование Kubernetes» Стефана Шимански и Майкла Хаузенбласа.