【问题标题】:Read yaml file to vm options with yq使用 yq 将 yaml 文件读取到 vm 选项
【发布时间】:2022-01-25 13:49:29
【问题描述】:

我有一个简单的 values.yaml 文件,其中包含以下数据:

...
env:
   - name: GOOGLE_DNS_1
     value: 8.8.8.8
   - name: GOOGLE_DNS_2
     value: 8.8.4.4
   - name: RUN_VARIABLES
     value: "-Xms150m -Xmx300m"
...

我想用 "yq"like 构造一个字符串

-DGOOGLE_DNS_1="8.8.8.8"
-DGOOGLE_DNS_2="8.8.4.4"
-Xms150m -Xms300m

设置我的 Java VM 选项。

【问题讨论】:

  • 您将此标记为 Helm 问题,并提及 Helm 标准 values.yaml 文件;您是在尝试使用 Helm 和 Kubernetes 清单还是在其他环境中执行此操作?应用程序如何使用这些设置?

标签: java shell yaml kubernetes-helm yq


【解决方案1】:

使用yq

yq -r '(.env[] | select(.name == "GOOGLE_DNS_1").value) as $dns1
     | (.env[] | select(.name == "GOOGLE_DNS_2").value) as $dns2
     | (.env[] | select(.name == "RUN_VARIABLES").value) as $jvmOpts
     | "-DGOOGLE_DNS_1=\"\($dns1)\" -DGOOGLE_DNS_2=\"\($dns2)\" \($jvmOpts)" '

这会为您的输入生成:
-DGOOGLE_DNS_1="8.8.8.8" -DGOOGLE_DNS_2="8.8.4.4" -Xms150m -Xmx300m

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-14
    • 2021-05-03
    相关资源
    最近更新 更多