我试图在一个覆盖kustomization.yaml
的目录中运行定制命令
当我在这个目录中运行kubectl kustomize edit set namespace test
时,我得到
error: specify one path to kustomization.yaml
当我运行kustomize edit set namespace test
时,它工作。
所以问题是当我运行use customize from kubectl。
Kubectl版本是v1.24.2,它有Kustomize版本:v4.5.4
和单独安装的Kustomize二进制版本是v4.5.5
我怀疑kubectl kustomize
不支持子命令。相反,您应该创建kustomization.yaml
文件并简单地运行kubectl kustomize
来生成清单。如果我没记错的话,直到几年前,kustomize
项目还是作为go module
提供的,允许kubectl
开发人员将其包含在他们的项目中并利用其功能。后来,它变成了一个独立的项目,不再作为一个模块提供给开发人员,并且没有动机通过在程序中重新实现kustomize
功能来重复工作。也许这就是为什么它从未完全集成到kubectl
和许多其他试图使用它的项目中。
注意,错误提示指定onekustomization.yaml
的路径。这意味着该命令将子命令解释为路径。
你圣仅仅提供:
kubectl kustomize <dir of kustomization.yaml>
你可以在这里阅读更多关于命令和支持的标志。
注意,如果在目录结构上运行
kustomize
,则需要在每个子目录中都有一个kustomization.yaml
文件。