cos*_*-14 7 kubernetes kustomize
有什么想法可以通过 Kustomize 替换变量吗?我只想为每个覆盖层使用不同的 ACCOUNT_ID 和 IAM_ROLE_NAME。
apiVersion: v1
kind: ServiceAccount
metadata:
annotations:
eks.amazonaws.com/role-arn: arn:aws:iam::${ACCOUNT_ID}:role/${IAM_ROLE_NAME}
Run Code Online (Sandbox Code Playgroud)
提前致谢!
lar*_*sks 16
Kustomize 不使用“变量”。通常处理此问题的方法是在覆盖层中修补注释。也就是说,您可以从如下所示的基本目录开始:
\nbase\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 kustomization.yaml\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 serviceaccount.yaml\nRun Code Online (Sandbox Code Playgroud)\n哪里serviceaccount.yaml包含你的ServiceAccount清单:
apiVersion: v1\nkind: ServiceAccount\nmetadata:\n name: my-service-account\n annotions:\n eks.amazonaws.com/role-arn: "THIS VALUE DOESN'T MATTER"\nRun Code Online (Sandbox Code Playgroud)\n和kustomization.yaml像:
apiVersion: kustomize.config.k8s.io/v1beta1\nkind: Kustomization\nnamespace: my-namespace\n\nresources:\n - serviceaccount.yaml\nRun Code Online (Sandbox Code Playgroud)\n然后在叠加层中,您将eks.amazonaws.com/role-arn使用补丁替换注释。例如,如果您有一个名为production,您最终可能会得到以下布局:
.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 base\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 kustomization.yaml\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 serviceaccount.yaml\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 overlay\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 production\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 kustomization.yaml\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 patch_aws_creds.yaml\nRun Code Online (Sandbox Code Playgroud)\n在哪里overlay/production/patch_aws_creds.yaml:
apiVersion: v1\nkind: ServiceAccount\nmetadata:\n name: my-service-account\n annotations:\n eks.amazonaws.com/role-arn: arn:aws:iam::1234:role/production-role\nRun Code Online (Sandbox Code Playgroud)\n和overlay/production/kustomization.yaml像:
apiVersion: kustomize.config.k8s.io/v1beta1\nkind: Kustomization\n\nresources:\n - ../../base\n\npatches:\n - patch_aws_creds.yaml\nRun Code Online (Sandbox Code Playgroud)\n有了这个,运行...
\nkustomize build overlay/production\nRun Code Online (Sandbox Code Playgroud)\n...将使用您的制作角色信息生成输出,等等,以用于您选择创建的任何其他覆盖。
\n如果您不喜欢策略合并补丁的格式,可以使用 json 补丁文档代替。这就是它在你的内联中的样子kustomization.yaml:
apiVersion: kustomize.config.k8s.io/v1beta1\nkind: Kustomization\n\nresources:\n - ../../base\n\npatches:\n - target:\n version: v1\n kind: ServiceAccount\n name: my-service-account\n patch: |-\n - op: replace\n path: /metadata/annotations/eks.amazonaws.com~1role-arn\n value: arn:aws:iam::1234:role/production-role\nRun Code Online (Sandbox Code Playgroud)\n不过,我认为这并不能真正给你带来任何好处。
\n| 归档时间: |
|
| 查看次数: |
11911 次 |
| 最近记录: |