Как применить плагин трансформатора после обновления Ingress serviceName?
У меня есть плагин kustomize transformer, который считывает значение serviceName в Ingress spec / rules / * / http / paths / 0 / backend / serviceName. Плагин предназначен для обновления записей хоста в Ingress окончательным именем serviceName после применения nameSuffix/namePrefix.
Плагины читают из stdin, но состояние yaml не то, что я ожидал. К именам Сервиса и Ingress применено nameSuffix/namePrefix, но значение serviceName в Ingress по-прежнему является необработанным именем сервиса. Я проверил это, сбросив yaml Ingress при запуске плагина. После запуска плагина в окончательном выводе будет обновленное имя службы (с префиксом / суффиксом). Итак, что-то работает после плагина, который выполняет обновление.
Как мне настроить плагин так, чтобы он запускался после обновления serviceName в Ingress?
1 ответ
Согласно этому примеру: Конфигурации трансформатора
namePrefix
а также nameSuffix
иметь только ссылку:
namePrefix:
- path: metadata/name
Если вы хотите включить serviceName
к nameReference
, вы можете создать, например, kustomize-config.yml
файл с содержанием:
nameReference:
- kind: ServiceName
fieldSpecs:
- path: spec/rules/*/http/paths/0/backend/serviceName
kind: Ingress
Затем на вашем kustomization.yml
вам нужно сослаться на это:
configurations:
- kustomize-config.yml
В следующий раз, когда ты побежишь kubectl kustomize .
или kustomize build .
, вы можете увидеть, как префикс и суффикс отражаются также на serviceName