0

我有一个 kustomize 转换器插件,它读取 Ingress spec/rules/*/http/paths/0/backend/serviceName 中的 serviceName 的值。该插件的目的是在应用 nameSuffix/namePrefix 后使用最终的 serviceName 更新 Ingress 中的主机条目。

插件从标准输入读取,但 yaml 的状态不是我所期望的。Service 和 Ingress 的名称应用了 nameSuffix/namePrefix,但 Ingress 中 serviceName 的值仍然是原始服务名称。我通过在插件执行时转储 Ingress yaml 来验证这一点。插件运行后,最终输出确实具有更新的 serviceName(带有前缀/后缀)。因此,在进行更新的插件之后正在运行某些东西。

如何配置插件,使其在 Ingress 中的 serviceName 更新后运行?

4

1 回答 1

1

根据这个例子:Transformer Configs

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 .orkustomize build .时,您可能会看到 Prefix 和 Suffix 也反映到serviceName

于 2020-06-01T06:42:03.223 回答