gpt4 book ai didi

kubernetes - 如何在同一POD的不同实例中将环境变量设置为不同的值?

转载 作者:行者123 更新时间:2023-12-02 12:13:55 27 4
gpt4 key购买 nike

我想具有相同POD的两个实例,其中包含一个具有不同值的环境变量。
我们怎样才能做到这一点?

谢谢

最佳答案

您可以使用一个包含2个不同容器的容器来实现所需的功能。

这是有关如何实现此目的的示例:

apiVersion: v1
kind: Pod
metadata:
name: busybox
spec:
containers:
- name: busybox1
image: busybox:1.28
env:
- name: VAR1
value: "Hello I'm VAR1"
command:
- sleep
- "3600"
imagePullPolicy: IfNotPresent
- name: busybox2
image: busybox:1.28
env:
- name: VAR2
value: "VAR2 here"
command:
- sleep
- "3600"
imagePullPolicy: IfNotPresent
restartPolicy: Always

我们正在创建2个容器,一个使用 VAR1,第二个使用 VAR2
$ kubectl exec -ti busybox -c busybox1 -- env
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=busybox
TERM=xterm
VAR1=Hello I'm VAR1
KUBERNETES_PORT_443_TCP_ADDR=10.31.240.1
KUBERNETES_SERVICE_HOST=10.31.240.1
KUBERNETES_SERVICE_PORT=443
KUBERNETES_SERVICE_PORT_HTTPS=443
KUBERNETES_PORT=tcp://10.31.240.1:443
KUBERNETES_PORT_443_TCP=tcp://10.31.240.1:443
KUBERNETES_PORT_443_TCP_PROTO=tcp
KUBERNETES_PORT_443_TCP_PORT=443
HOME=/root
$ kubectl exec -ti busybox -c busybox2 -- env
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=busybox
TERM=xterm
VAR2=VAR2 here
KUBERNETES_PORT=tcp://10.31.240.1:443
KUBERNETES_PORT_443_TCP=tcp://10.31.240.1:443
KUBERNETES_PORT_443_TCP_PROTO=tcp
KUBERNETES_PORT_443_TCP_PORT=443
KUBERNETES_PORT_443_TCP_ADDR=10.31.240.1
KUBERNETES_SERVICE_HOST=10.31.240.1
KUBERNETES_SERVICE_PORT=443
KUBERNETES_SERVICE_PORT_HTTPS=443
HOME=/root

如您所见,它们具有相同的主机名(来自Pod名称的继承)和不同的变量。

关于kubernetes - 如何在同一POD的不同实例中将环境变量设置为不同的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59405571/

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