通过Kubernetes中的服务传递环境变量?

Neg*_*ioN 3 cluster-computing 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"
Run Code Online (Sandbox Code Playgroud)

该服务已由kubectl使用,并已创建。

我已经确认该服务已通过容器连接到我的容器,env | grep KAFKA并且变量的输出大大增加了,这与服务启动时所期望的一样。

但是,我想传入的自定义环境变量必须根据其所在容器的实例而有所不同。

这可能吗?

Tim*_*kin 5

Kubernetes的设计方式是将服务与Pod分离。您不能将Secret或env变量注入正在运行的Pod中。您要配置Pod以使用env var或Secret。