最简单、最优化的读取和编辑 YAML 的方式

我有一些 YAML 文件,我想应用它们来创建自定义资源。但在应用它之前,我想更改 YAML 代码段的规范和 ENV。那么,最好的方法是什么呢?


我现在做的是:


假设这是 YAML


apiVersion: litmuschaos.io/v1alpha1

kind: ChaosEngine

metadata:

  name: nginx-chaos

  namespace: default

spec:

  appinfo:

    appns: 'default'

    applabel: 'app=nginx'

    appkind: 'deployment'

  # It can be true/false

  annotationCheck: 'false'

  # It can be active/stop

  engineState: 'active'

  chaosServiceAccount: pod-delete-sa

  monitoring: false

  # It can be delete/retain

  jobCleanUpPolicy: 'delete'

  experiments:

    - name: pod-delete

      spec:

        components:

          env:

            # set chaos duration (in sec) as desired

            - name: TOTAL_CHAOS_DURATION

              value: '30'


            # set chaos interval (in sec) as desired

            - name: CHAOS_INTERVAL

              value: '10'

              

            # pod failures without '--force' & default terminationGracePeriodSeconds

            - name: FORCE

              value: 'false'

  1. 我从原始链接下载此文件。(1 个函数)

  2. 替换类似 (1 fn) 的字段jobCleanUpPolicy: 'delete'jobCleanUpPolicy: 'retain'

  3. 当找到匹配项时,替换下一行,例如 FORCE ENV。(1 fn)value: 'false'value: 'true'

  4. 应用创建的最终清单!(1 功能)

这可以优化吗?


慕后森
浏览 161回答 2
2回答

富国沪深

如果创建表示资源的结构(或者,更好的是,可以导入定义 CRD 的包),则可以获取 yaml 字符串,将其封送到结构中,然后直接将字段编辑为结构的字段。

元芳怎么了

嗨,您可以使用LitmusPortal来使用它。指
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go