kubernetes - 在 kustomize 叠加层之间共享补丁 - 不识别转换器
问题描述
我正在尝试在叠加层之间共享 JSON 补丁。我可以做类似的事情:
bases:
- ../bases
patchesJson6902:
- target:
...
但是我必须为每个覆盖复制完整的目标。我更愿意在一个地方描述目标和补丁,然后将其拉入需要它的叠加层。
因此,我尝试在您有一个指令的情况下使用这种方法,指向一个显式触发插件的文件。kustomization.yaml
transformers
从文档看来,这应该适用于我的叠加层kustomization.yaml
:
bases:
- ../bases
transformers:
- ../transformers/example
但是当我跑步时,kubectl apply -k
我得到:
Error: json: unknown field "transformers"
谁能指出我做错了什么?有一个更好的方法吗?
解决方案
您需要安装二进制文件而kustomize
不是kubectl
用来生成这些清单。正如@coderanger 提到的,捆绑的 Kustomize 版本kubectl
来自早于 Transformers 的版本。
安装后kustomize
,您可以像这样构建清单:
kustomize build >dir<
然后将产生类似于以下的 STDOUT 流kubectl kustomize >dir<
如果您希望直接将生成的清单应用到您的 API 服务器,则可以将 STDOUT 直接通过管道传输到kubectl apply
. 例如:
kustomize build >dir< | kubectl apply -f-
推荐阅读
- java - 有什么方法可以初始化像 2.0.4 这样的无效 Spring Boot 版本
- sql - 是否可以对一张表创建一个 SQL SELECT 语句并取回两列及其条件?
- c# - 如何绕过 SSL 并从运行 .net 核心应用程序的 docker 容器访问 cosmosDb 模拟器?
- java - 无法格式化 BigDecimal:方法抛出“java.lang.NumberFormatException”异常
- prometheus - 当值不存在时在二进制操作期间设置默认值
- html - 浮动标签过度对齐输入文本
- ssrs-2017 - 我正在尝试在 SSRS 中创建具有下拉功能的参数
- powerbi - 如果今天是每月的第一天,则仅过滤上个月的日期
- angular - 访问路由时出现 SSR Angular Universal Server 错误
- javascript - 递归如何在倒计时函数中工作