【问题标题】:Simplest and Optimised way to read and edit YAMLs读取和编辑 YAML 的最简单和优化的方法
【发布时间】:2021-03-31 23:31:54
【问题描述】:

我有一些 YAML 文件,我想应用这些文件来创建自定义资源。但在应用它之前,我想更改 YAML sn-p 的规范和 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. jobCleanUpPolicy: 'delete' 之类的字段替换为jobCleanUpPolicy: 'retain' (1 fn)
  3. 找到匹配项时将下一行替换为value: 'false'value: 'true' for FORCE ENV。 (1 英尺)
  4. 应用创建的最终清单! (1 个函数)

这可以优化吗?

【问题讨论】:

    标签: docker go kubernetes environment-variables yaml


    【解决方案1】:

    如果您创建一个表示资源的结构(或者,甚至可以导入定义 CRD 的包),您可以将 yaml 字符串 marshal 放入结构中,然后将字段直接编辑为结构体

    【讨论】:

      【解决方案2】:

      您好,您可以使用 LitmusPortal 来使用它。Refer

      【讨论】:

        猜你喜欢
        • 2012-01-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-12-31
        相关资源
        最近更新 更多