【问题标题】:can I Expose Pod Information to Containers Through Environment Variables with deployments?我可以通过部署环境变量向容器公开 Pod 信息吗?
【发布时间】:2017-07-30 13:58:19
【问题描述】:

我正在使用 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 没有定义,我不能再将它用作环境变量。

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

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    这个部署对我有用。你能在你的集群中测试这个吗?

    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
    

    【讨论】:

    • 所以这与 helm 有关,与部署本身无关。 helm.sh
    • helm 不会更改部署文件格式中的任何内容。有没有一种简单的方法可以重新创建您的问题。我可以在我的集群上试用它。
    猜你喜欢
    • 2011-05-23
    • 2020-01-25
    • 1970-01-01
    • 2020-07-19
    • 1970-01-01
    • 2016-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多