命名空间转换后如何调用 Kustomize 补丁?

问题描述 投票:0回答:1

命名空间转换完成后如何让 kustomize 运行补丁?

示例,重现:

扩展配置.yaml

apiVersion: runtime.cluster.x-k8s.io/v1alpha1
kind: ExtensionConfig
metadata:
  name: my-extensionconfig

kustomization.yaml

resources:
- extensionconfig.yaml

namespace: foooo

输出:

❯ kubectl kustomize  .
apiVersion: runtime.cluster.x-k8s.io/v1alpha1
kind: ExtensionConfig
metadata:
  name: my-extensionconfig
  namespace: foooo

现在命名空间“foooo”已设置。现在我想使用相同的 kustomization.yaml 文件更新此资源,并执行额外的补丁。

相关问题:在 kustomization.yaml 中使用命名空间时如何排除资源?

kubernetes kustomize
1个回答
0
投票

要在添加命名空间后应用补丁,请使用 patchStrategicMerge。该补丁适用于已经转换的资源。

像这样创建一个补丁文件

apiVersion: runtime.cluster.x-k8s.io/v1alpha1
kind: ExtensionConfig
metadata:
  name: my-extensionconfig
  namespace: foooo # Match the resource's namespace after transformation
spec:
  additionalField: new-value # Add or update a field in `spec`

然后在 kustomization.yaml 文件中添加 patchStrategicMerge 字段以包含补丁。

resources:
  - extensionconfig.yaml

namespace: foooo

patchesStrategicMerge:
  - my-patch.yaml
© www.soinside.com 2019 - 2024. All rights reserved.