【问题标题】:How to set load restrictor when using kustomize from kubectl?从 kubectl 使用 kustomize 时如何设置负载限制器?
【发布时间】:2021-07-12 15:01:03
【问题描述】:

我正在尝试在 kubectl 中使用 kustomize。具体来说,我想知道等效的 kubectl 命令:

kustomize build --load_restrictor LoadRestrictionsNone config/overlays/dev_mutation | kubectl apply -f -

(kustomize 正确运行此命令并执行我的预期)

我试过这个命令:

$ kubectl apply -k config/overlays/dev_mutation --load_restrictor="LoadRestrictionsNone"

抱怨load_restrictor 已被弃用,我应该改用load-restrictor

W0712 07:58:16.811301 2407909 flags.go:39] load_restrictor is DEPRECATED and will be removed in a future version. Use load-restrictor instead.
Error: unknown flag: --load_restrictor

所以,我尝试用非弃用标志替换:

kubectl apply -k config/overlays/dev_mutation --load-restrictor="LoadRestrictionsNone"

如果我这样做,kubectl 会抱怨 --load-restrictor 未知:

Error: unknown flag: --load-restrictor

如何正确地将load_restrictor/load-restrictor 标志传递给kubectl apply -k

kubectl version 的输出:

gatekeeper$ kubectl version
Client Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.2", GitCommit:"092fbfbf53427de67cac1e9fa54aaa09a28371d7", GitTreeState:"clean", BuildDate:"2021-06-16T12:59:11Z", GoVersion:"go1.16.5", Compiler:"gc", Platform:"linux/amd64"}

【问题讨论】:

标签: kubectl kustomize


【解决方案1】:

我建议直接安装kustomize 二进制文件,而不是依赖kubectl 中的捆绑版本,后者会过时。更多信息在这里:Install Kustomize

我认为您不能将--load-restrictor 选项传递给kubectl apply -k 命令。相反,我可以确认这可行

kubectl kustomize --load-restrictor LoadRestrictionsNone <path_to_kustomization_dir>

您可以使用 kustomize binary 来实现相同的使用

kustomize build --load-restrictor LoadRestrictionsNone <path_to_kustomization_dir>

应用生成的 yaml

如果你想使用 kubectl 应用生成的输出,你可以像这样通过管道输出这个输出

kubectl kustomize --load-restrictor LoadRestrictionsNone <path_to_kustomization_dir> | kubectl apply -f -

kustomize build --load-restrictor LoadRestrictionsNone <path_to_kustomization_dir> | kubectl apply -f -

【讨论】:

    猜你喜欢
    • 2021-05-21
    • 2020-02-13
    • 2018-10-27
    • 2015-08-26
    • 1970-01-01
    • 2020-07-19
    • 2019-08-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多