通过 Kubernetes 中的服务传递环境变量?
Pass environment variable through service in Kubernetes?
有没有办法通过 Kubernetes 中的服务传递环境变量?
我试过像这样将它传递到我的服务 yaml 中:
apiVersion: v1
kind: Service
metadata:
labels:
name: kafka
name: kafka
spec:
ports:
- port: 9092
selector:
name: kafka
env:
- name: BROKER_ID
value: "1"
该服务正在被 kubectl 使用并被创建。
我已经确认该服务已通过 env | grep KAFKA
连接到我的容器,并且变量的输出大大增加,正如我的服务启动时所预期的那样。
但是,我想传入自定义环境变量,这些变量必须根据容器所在的实例而有所不同。
这可能吗?
这是目前为止我找到的最好的方法:(需要阅读)
https://github.com/kubernetes/kubernetes/issues/4710
粗略地说,在执行脚本之前在挂载的文件中创建一个秘密并获取它。
Kubernetes 的设计方式使服务与 Pods 分离。您不能将 Secret 或环境变量注入 运行 Pod。您想要的是将 Pod 配置为使用 env var 或 Secret。
有没有办法通过 Kubernetes 中的服务传递环境变量?
我试过像这样将它传递到我的服务 yaml 中:
apiVersion: v1
kind: Service
metadata:
labels:
name: kafka
name: kafka
spec:
ports:
- port: 9092
selector:
name: kafka
env:
- name: BROKER_ID
value: "1"
该服务正在被 kubectl 使用并被创建。
我已经确认该服务已通过 env | grep KAFKA
连接到我的容器,并且变量的输出大大增加,正如我的服务启动时所预期的那样。
但是,我想传入自定义环境变量,这些变量必须根据容器所在的实例而有所不同。
这可能吗?
这是目前为止我找到的最好的方法:(需要阅读) https://github.com/kubernetes/kubernetes/issues/4710
粗略地说,在执行脚本之前在挂载的文件中创建一个秘密并获取它。
Kubernetes 的设计方式使服务与 Pods 分离。您不能将 Secret 或环境变量注入 运行 Pod。您想要的是将 Pod 配置为使用 env var 或 Secret。