通过kubectl使用kustomize时如何正确设置load restrictor参数?
根因说明
你遇到的参数报错是因为 kubectl v1.21内置的kustomize模块版本过低,未适配--load-restrictor命令行参数的透传能力。
可用解决方案
方法1:保留原管道命令写法(兼容性最强)
这种写法完全不受kubectl内置kustomize版本限制,只要本地安装了独立的kustomize二进制即可正常运行,直接使用你原有可正常执行的命令即可:kustomize build --load-restrictor LoadRestrictionsNone config/overlays/dev_mutation | kubectl apply -f -如果你本地安装的kustomize版本较老,也可以把参数替换为下划线格式的
--load_restrictor。方法2:升级kubectl版本
把kubectl升级到v1.23及以上版本,该版本开始内置的kustomize模块支持直接透传--load-restrictor参数,升级后直接执行以下命令即可:kubectl apply -k config/overlays/dev_mutation --load-restrictor LoadRestrictionsNone方法3:在kustomize配置文件中声明规则(无需升级版本也可使用
kubectl apply -k)
在你的overlay目录config/overlays/dev_mutation下的kustomization.yaml中添加如下配置字段,该配置优先级高于命令行参数,v1.21版本的内置kustomize也可识别:loadRestrictions: none添加完成后直接执行无额外参数的apply命令即可:
kubectl apply -k config/overlays/dev_mutation
内容的提问来源于stack exchange,提问作者Will Beason
相关产品推荐
相关产品推荐

