我正在尝试在我的 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"
Run Code Online (Sandbox Code Playgroud)
但是,当我应用 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]
Run Code Online (Sandbox Code Playgroud)
有没有人见过类似的东西?
这些参数不会被 shell 解释,所以大括号不会让你得到你想要的行为。如果要在 arg 中使用 envvar 值,$(VAR_NAME)则使用容器的环境扩展诸如此类的变量引用。
| 归档时间: |
|
| 查看次数: |
357 次 |
| 最近记录: |