我们可以使用 k8s kustomize 和 kubectl 来设置图像和创建秘密文件吗?

Can we use k8s kustomize with kubectl to set image and create secret file?

我正在使用 k8s kustomize 设置图像并创建一个秘密文件

$(cd ./k8s/overlays/prod && kustomize edit set image gcr.io/PROJECT_ID/image:1.0)

这有效!

现在我正在尝试使用 kubectl kustomize 来做同样的事情而不用 cd . ./k8s/overlays/prod

是否可以将 Kustomize 插件构建到 kubectl 中?

对于使用 kubectl 的 kustomize edit add secret 也一样,而无需将 cd 进入目录?

很遗憾,这是不可能的。 kubectl内置的kustomize命令只支持打补丁应用kustomize文件

我建议使用独立版本的 kustomize,因为 kubectl 使用 kustomize 版本 2.0.4,而最新的已经是 3.8.8。使用旧版本会破坏一些功能。

在 kubectl 中有很多支持更新版本的请求,但有一些技术原因阻碍了这项工作的完成。您可以跟踪进度 here.

kubectl v1.21 中提供了更新的 kustomize,它最终解锁了更新的 kustomize,后者解锁了 OP 场景(根据@acid_fuji 回答)。

kubectl kustomize
v1.21 v4.0.5 bogus column to make versions easier to read
v1.20 v2.0.3