我可以通过部署将Pod信息通过环境变量暴露给容器吗?

时间:2017-07-30 13:58:20

标签: kubernetes

我正在使用kubernetes并将所有复制控制器更改为部署(来自k8s的新RC)。

我曾经通过环境变量公开容器的Pod信息,如下所述:

https://kubernetes.io/docs/tasks/inject-data-application/environment-variable-expose-pod-information/

所以我就这样使用它:

  - name: MY_POD_NAME
    valueFrom:
      fieldRef:
        fieldPath: metadata.name

并且它正在工作,在更改为部署后看起来像metadata.name未定义,我不能再将其用作环境变量。

是否有人知道此功能是否仍在部署中?

1 个答案:

答案 0 :(得分:4)

此部署对我有用。你可以在集群中测试吗?

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: nginx
  labels:
    k8s-app: nginx
    tier: network-tools
  namespace: default
spec:
  replicas: 1
  template:
    metadata:
      labels:
        k8s-app: nginx
    spec:      
      containers:
      - name: nginx       
        image: nginx        
        env: 
        - name: SSHD
          value: TURE
        - name: POD_NAMESPACE
          valueFrom:
            fieldRef:
              fieldPath: metadata.namespace       
        - name: POD_NAME
          valueFrom:
            fieldRef:
              fieldPath: metadata.name        
        ports:
        - containerPort: 80