Kubernetes-所有Pod的共享环境变量

时间:2019-02-06 10:05:49

标签: kubernetes environment-variables google-kubernetes-engine kubernetes-helm

我们必须设置https_proxy和http_proxy以从群集实例访问Internet。

https_proxy和http_proxy环境变量应导出到所有Pod,以便应用程序可以访问外部站点。

我们正在使用头盔图,所以在哪里可以设置这些环境变量,以便所有吊舱都能访问互联网。

2 个答案:

答案 0 :(得分:1)

您应该使用PodReset对象将常见的环境变量和其他参数传递给所有匹配的Pod。

向所有广告连播添加标签setproxy:true

下面的PodPreset对象会将HTTPS_PROXY和HTTP_PROXY环境变量注入与标签'setproxy:true'匹配的所有Pod中。

apiVersion: settings.k8s.io/v1alpha1
kind: PodPreset
metadata:
  name: inject-proxy-var
spec:
  selector:
    matchLabels:
      setproxy: true
  env:
    - name: HTTPS_PROXY
      value: "https_proxy"
    - name: HTTP_PROXY
      value: "http_proxy"

点击链接获取更多帮助-> https://kubernetes.io/docs/tasks/inject-data-application/podpreset/

您应该在集群中启用Pod Preset。按照下面的链接

https://kubernetes.io/docs/concepts/workloads/pods/podpreset/

答案 1 :(得分:-1)

如果我正确理解,则要将env变量设置为container。如果理解正确,则可以对容器使用以下配置来设置环境变量

env:
- name: HTTPS_PROXY
  value: "Value"
- name: HTTP_PROXY
  value: "Value"

您可以在:https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/#define-an-environment-variable-for-a-container

上查看更多详细信息。