gpt4 book ai didi

Kubernetes 环境变量未在命令中正确使用

转载 作者:行者123 更新时间:2023-12-02 09:10:08 26 4
gpt4 key购买 nike

我正在尝试在我的 kubernetes 集群中引导一个 etcd 集群,这里是 pod 定义的相关部分

  - name: etcd
image: quay.io/coreos/etcd:v2.2.0
ports:
- containerPort: 2379
- containerPort: 2380
- containerPort: 4001
env:
- name: POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
args:
- "-name"
- "etcd0"
- "-advertise-client-urls"
- http://${POD_IP}:2379,http://${POD_IP}:4001
- "-initial-advertise-peer-urls"
- "http://${POD_IP}:2380"
- "-listen-peer-urls"
- "http://0.0.0.0:2380"
- "-initial-cluster"
- 'etcd0=http://${POD_IP}:2380'
- "-initial-cluster-state"
- "new"

然而,当我应用 POD_IP 环境变量时,它似乎被破坏了,日志证明了这一点:

 advertise URLs of "etcd0" do not match in --initial-advertise-peer-urls [http://$%7BPOD_IP%7D:2380] and --initial-cluster [http://$%7BPOD_IP%7D:2380]

有人见过类似的东西吗?

最佳答案

参数不被 shell 解释,所以花括号不会让你得到你想要的行为。如果您想在 arg 中使用 envvar 值,变量引用如 $(VAR_NAME) 将使用容器的环境进行扩展。

关于Kubernetes 环境变量未在命令中正确使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53355665/

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