如何将区域信息作为环境变量传递给在Kubernetes中运行的容器?

时间:2018-04-12 19:31:16

标签: kubernetes

我有一个用例,我从部署在不同地区的容器发布消息,我想从他们来自的地区标记这些消息。此外,我想以容器引擎无关的方式执行此操作,因此特别希望将区域信息作为环境变量进行访问。

1 个答案:

答案 0 :(得分:0)

您可以使用Downward API

将广告连播信息公开为环境变量

但是,根据these github issues,节点标签不支持此功能。

您可以执行的操作是关注this example并标记您的广告连播/部署(也可以使用NodeSelector确定这些广告连播/部署),然后公开该信息。一个例子:

apiVersion: v1
kind: Pod
metadata:
  name: dapi-envars-fieldref
  labels:
    zone: us-west-2
spec:
  containers:
    - name: test-container
      image: k8s.gcr.io/busybox
      command: [ "sh", "-c", $(ZONE)]
      env:
        - name: ZONE
          valueFrom:
            fieldRef:
              fieldPath: metadata.labels.zone
  restartPolicy: Never

请注意,我还没有对YMMV进行测试