无法为包含 {}

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

这是我的 values.yaml 文件,其中包含一系列金丝雀步骤

istio:
  canary:
    enabled: true
    steps:
    - setWeight: 10
    - pause: {}
    - setWeight: 20
    - pause: { duration: 20 }
    - setWeight: 30
    - pause: {}
    - setWeight: 40
    - pause: { duration: 20 }
    - setWeight: 50
    - pause: {}
    - setWeight: 75
    - pause: { duration: 20 }
    - setWeight: 90
    - pause: {}

我想获取 steps 从 values.yaml 到以下 argos-rollout.yaml 的数组:

apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
  name: my-rollout
spec:
  strategy:
    canary:
      steps:
        <?>

我尝试了很多组合,但没有像下面这样的组合 将 YAML 转换为 JSON 时出错:yaml:在此上下文中不允许映射值

apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
  name: my-rollout
spec:
  strategy:
    canary:
      steps:
      {{- range .Values.istio.canary.steps }}
        - {{ toYaml . | nindent 8 }}
      {{- end }}

我能得到一些解决这个问题的建议吗??

yaml kubernetes-helm helm3
© www.soinside.com 2019 - 2024. All rights reserved.