Kustomization如何正确引用其他目录下的resource yaml资源
Kustomize跨目录引用资源报错解决方案
报错根因
Kustomize 默认开启文件路径安全限制,不允许直接引用当前 kustomization.yaml 所在目录父级路径下的单个资源文件,仅允许引用父级目录本身(要求目标目录下也存在合法的 kustomization.yaml 文件),避免意外泄露或加载系统敏感文件。
可用解决方案
方案一(生产环境推荐):补全base目录的kustomize配置
- 在
base目录下新建kustomization.yaml,内容如下:
resources: - first.yaml
- 修改
main目录下的kustomization.yaml的资源引用规则,直接引用base目录而非单个文件:
resources: - ../base
- 执行apply命令时使用
-k参数指定kustomize目录即可正常加载:
kubectl apply -k ./main
方案二(本地调试临时使用):关闭路径安全限制
如果不想调整目录结构,可以在执行命令时添加参数临时解除路径加载限制:
kubectl apply -k ./main --load-restrictor LoadRestrictionsNone
注意:该配置会关闭Kustomize的路径安全校验,可能导致意外引用系统敏感文件,禁止在生产环境使用。
内容的提问来源于stack exchange,提问作者Kabilan R
相关产品推荐
相关产品推荐

