gpt4 book ai didi

yq 替换 list yaml 中的值

转载 作者:行者123 更新时间:2023-12-05 08:19:34 24 4
gpt4 key购买 nike

我下面有一个用于负载均衡器的 k8s list 文件,我这辈子都无法用值替换 $ipaddress,我必须覆盖整个文件或部分文件,甚至只是留空。我怎样才能像下面那样只替换 $ipaddress

试过下面的例子2:

yq e '.spec|=select(.loadBalancerIP) .ports.port = "172.16.87.98"' manifest.yaml
yq e -i '(.spec|=select(.loadBalancerIP.$ipaddress) = "172.16.87.98"' manifest.yaml
  apiVersion: v1
kind: Service
metadata:
name: my-lb-cluster
spec:
loadBalancerIP: $ipaddress
ports:
- name: ssl
port: 8080
selector:
role: webserver
sessionAffinity: None
type: LoadBalancer

最佳答案

如果 YAML 与您的问题一样简单,您可以使用:

yq e -i '.spec.loadBalancerIP = "172.16.87.98"' manifest.yaml

...更新 manifest.yaml 并将 .spec 中的 .loadBalancerIP 设置为 "172.16.87.98".

关于yq 替换 list yaml 中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70713452/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com