作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用这个 example :
├── base
│ ├── kustomization.yaml
│ └── pod.yaml
├── dev
│ └── kustomization.yaml
├── kustomization.yaml
├── production
│ └── kustomization.yaml
└── staging
└── kustomization.yaml
并在
kustomization.yaml
根目录下的文件:
resources:
- ./dev
- ./staging
- ./production
我在
dev, staging, production
中也有图像转换器代码kustomization.yaml:
images:
- name: my-app
newName: gcr.io/my-platform/my-app
要构建单个部署 list ,我使用:
(cd dev && kustomize edit set image my-app=gcr.io/my-platform/my-app:0.0.2 && kustomize build .)
这很有效!
(kustomize edit set image my-app=gcr.io/my-platform/my-app:0.0.2 && kustomize build .)
它使用
kustomization.yaml
在包含所有资源(开发、暂存、生产)的根目录中。
kusotmize edit set image
只更新
kustomizaion.yaml
当前目录的。
最佳答案
花了一些时间才意识到这里发生了什么。我将逐步解释会发生什么以及它应该如何工作。
发生什么了
首先,我重新创建了相同的结构:
$ tree
.
├── base
│ ├── kustomization.yaml
│ └── pod.yaml
├── dev
│ └── kustomization.yaml
├── kustomization.yaml
└── staging
└── kustomization.yaml
当您为单个部署运行此命令时:
(cd dev && kustomize edit set image my-app=gcr.io/my-platform/my-app:0.0.2 && kustomize build .)
您将工作目录更改为
dev
, 手动覆盖来自
gcr.io/my-platform/my-app
的图像并添加标签
0.0.2
然后呈现部署。
transformer code
被上面的命令覆盖。您可以删除
transformer code
, 运行上面的命令并得到相同的结果。运行该命令后,您会发现您的
dev/kustomization.yaml
看起来像:
resources:
- ./../base
namePrefix: dev-
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
images:
- name: my-app
newName: gcr.io/my-platform/my-app
newTag: 0.0.2
然后从主目录运行此命令时会发生什么:
(kustomize edit set image my-app=gcr.io/my-platform/my-app:0.0.2 && kustomize build .)
kustomize
首先转到叠加层并执行
transformation code
位于
overlays/kustomization.yaml
.这部分完成后,图像名称为
不是
my-app
, 但是
gcr.io/my-platform/my-app
.
kustomize edit
命令尝试查找名称为
my-app
的图像并且不能这样做,因此不适用
tag
.
kustomize edit
,则需要使用转换后的图像名称在主工作目录中:
$ kustomize edit set image gcr.io/my-platform/my-app=*:0.0.4 && kustomize build .
apiVersion: v1
kind: Pod
metadata:
labels:
app: my-app
name: dev-myapp-pod
spec:
containers:
- image: gcr.io/my-platform/my-app:0.0.4
name: my-app
---
apiVersion: v1
kind: Pod
metadata:
labels:
app: my-app
name: stag-myapp-pod
spec:
containers:
- image: gcr.io/my-platform/my-app:0.0.4
name: my-app
关于kubernetes - kustomize 编辑集图像不适用于 kustomize multibases 和 common base,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68930658/
我是一名优秀的程序员,十分优秀!