簡體   English   中英

Kustomize - 修補列表中的每個項目

[英]Kustomize - patch every item in a list

我正在嘗試在 Kustomize 中使用補丁來修改 Kube.netes 資源,我想知道是否有一種巧妙的方法來更新列表中的每個項目。

這是我要自定義的 yaml:

apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration
metadata:
  annotations:
  name: validating-webhook-configuration
webhooks:
- admissionReviewVersions:
  - v1
  clientConfig:
    service:
      name: webhook-service
      namespace: rabbitmq-system
      path: /validate-rabbitmq-com-v1beta1-binding
- admissionReviewVersions:
  - v1
  clientConfig:
    service:
      name: webhook-service
      namespace: rabbitmq-system
      path: /validate-rabbitmq-com-v1beta1-exchange
- admissionReviewVersions:
  - v1
  clientConfig:
    service:
      name: webhook-service
      namespace: rabbitmq-system
      path: /validate-rabbitmq-com-v1beta1-federation

這是我想要實現的最終效果(參見NEWVALUE ):

apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration
metadata:
  annotations:
  name: validating-webhook-configuration
webhooks:
- admissionReviewVersions:
  - v1
  clientConfig:
    NEWVALUE: value
    service:
      name: webhook-service
      namespace: rabbitmq-system
      path: /validate-rabbitmq-com-v1beta1-binding
- admissionReviewVersions:
  - v1
  clientConfig:
    NEWVALUE: value
    service:
      name: webhook-service
      namespace: rabbitmq-system
      path: /validate-rabbitmq-com-v1beta1-exchange
- admissionReviewVersions:
  - v1
  clientConfig:
    NEWVALUE: value
    service:
      name: webhook-service
      namespace: rabbitmq-system
      path: /validate-rabbitmq-com-v1beta1-federation

我完全了解 Json6902 補丁,但它一次只允許我修改一個索引:

- op: add
  path: /webhooks/0/clientConfig/NEWVALUe
  value: value

有沒有辦法以類似於 for 循環的方式修改每個元素,或者我是否必須手動指定每個索引?

根據這里討論的內容,他們還不支持這種情況。 當他們添加它時,您可以執行以下操作:

kind: Kustomization
apiVersion: kustomize.config.k8s.io/v1beta1

resources:
- validating-webhook.yaml
- configmap.yaml

replacements:
- source:
    kind: ConfigMap
    name: cofignmap
    fieldPath: data.NEWVALUE
  targets:
  - select:
      name: validating-webhook-configuration
      kind: ValidatingWebhookConfiguration
    fieldPaths:
      - webhooks.*.clientConfig.NEWVALUE
    options:
      create: true

配置圖:

apiVersion: v1
kind: ConfigMap
metadata:
  name: cofignmap
data:
  NEWVALUE: value

您可以在文檔中閱讀有關替換的信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM