执行kubectl apply -k指定目录时报root必须为目录错误如何解决?
问题根因
Kustomize 的 bases 字段仅支持填入目录、远程代码仓库地址这类可作为 Kustomize 构建根路径的资源,不支持直接指定单个 YAML 资源文件。你将 deployment.yaml 直接配置到 bases 列表中,Kustomize 会尝试将其作为目录加载,因此触发路径不匹配的报错。
修复方法
修改 kustomization.yaml 配置,将单个资源文件移动到专门声明单个资源的 resources 字段下即可。高版本 Kustomize 也建议使用 resources 替代已废弃的 bases 字段,两种兼容写法如下:
写法1:保留原有bases配置,新增resources字段
bases: - ../base resources: - deployment.yaml
写法2:统一使用resources字段(推荐,兼容所有支持的Kustomize版本)
resources: - ../base - deployment.yaml
修改完成后重新执行 kubectl apply -k [文件夹名称] 即可正常执行。
内容的提问来源于stack exchange,提问作者user17249888
相关产品推荐
相关产品推荐

