设置环境变量用于集群中的所有部署或豆荚

发布于 2025-01-26 15:58:56 字数 670 浏览 2 评论 0原文

我创建了EKS群集,现在需要添加HTTP_PROXY/HTTP_PROXIES和NO_PROXY作为环境变量,以在所有300个部署中。我创建了一个带有变量的配置映射。有没有一种方法可以同时更新所有豆荚而又不一。如果是,我该怎么做?我的配置地图名称是代理 - 环境变量。

感谢您的帮助和帮助!

BR,

马丁

Name:         proxy-environment-variables
Namespace:    kube-system
Labels:       <none>
Annotations:  <none>

Data
====
HTTPS_PROXY:
----
http://10.16.11.10:8080
HTTP_PROXY:
----
http://10.16.11.10:8080
NO_PROXY:
----
169.254.169.254,127.0.0.1,localhost,10.0.0.0/8
http_proxy:
----
http://10.16.11.10:8080
https_proxy:
----
http://10.16.11.10:8080
no_proxy:
----
169.254.169.254,127.0.0.1,localhost,10.0.0.0/8

BinaryData
====

Events:  <none>

I created EKS cluster and now i need to add http_proxy/http_proxies and no_proxy as environment variable to all 300 deployments. I created a config map with the variables. Is there a way to update all pods simultaneously without doing it one by one? And if yes how can i do it? My config map name is proxy-environment-variables.

Thank you for the help and assistance!

BR,

Martin

Name:         proxy-environment-variables
Namespace:    kube-system
Labels:       <none>
Annotations:  <none>

Data
====
HTTPS_PROXY:
----
http://10.16.11.10:8080
HTTP_PROXY:
----
http://10.16.11.10:8080
NO_PROXY:
----
169.254.169.254,127.0.0.1,localhost,10.0.0.0/8
http_proxy:
----
http://10.16.11.10:8080
https_proxy:
----
http://10.16.11.10:8080
no_proxy:
----
169.254.169.254,127.0.0.1,localhost,10.0.0.0/8

BinaryData
====

Events:  <none>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

请别遗忘我 2025-02-02 15:58:56

您可以使用set env将环境变量更新为部署:

kubectl set env deployment --all  --from=configmap/my-env-config

示例:以下示例证明是否有多个部署,如何将env变量添加到其POD中。

//我有以下部署:

kubectl get deployment
NAME    READY   UP-TO-DATE   AVAILABLE   AGE
dep-1   1/1     1            1           5m21s
dep-2   1/1     1            1           41m
dep-4   1/1     1            1           3m17s

//他们各自的pods:

kubectl get pod
NAME                     READY   STATUS    RESTARTS   AGE
dep-1-84fcdf5-wblsm      1/1     Running   0          2m8s
dep-2-84fcdf5-qfbd5      1/1     Running   0          3m4s
dep-4-6cf4dcf794-wk476   1/1     Running   0          4s

//我的配置映射:

apiVersion: v1
data:
  HTTP_PROXY: https://1.2.3.4:1234
kind: ConfigMap
metadata:
  creationTimestamp: "2022-05-04T16:52:00Z"
  name: my-env-config
  namespace: default
  resourceVersion: "1002232"
  uid: c8606312-90c6-45cf-86f0-f4f874f19909    

// http_proxy env Variable是已经已经设置为dep-1

kubectl exec -it dep-1-84fcdf5-wblsm -- printenv HTTP_PROXY
https://1.2.3.4:1234

// http_proxy envibal 已经 /strong>设置为dep-2

kubectl exec -it dep-2-84fcdf5-qfbd5 -- printenv HTTP_PROXY
https://1.2.3.4:1234

// http_proxy env变量是 ind dep-4,这是我们的焦点 //

kubectl exec -it dep-4-6cf4dcf794-wk476 -- printenv HTTP_PROXY
command terminated with exit code 1

// 解决方案:设置所有部署(- ALL)的所有部署的设置ENV,该构造映射称为my-env-config

 kubectl set env deployment --all  --from=configmap/my-env-config
deployment.apps/dep-4 env updated

//注意POD的年龄,只有DEP-4的POD年龄已更改

kubectl get pod
NAME                     READY   STATUS    RESTARTS   AGE
dep-1-84fcdf5-wblsm      1/1     Running   0          3m40s
dep-2-84fcdf5-qfbd5      1/1     Running   0          4m36s
dep-4-59d5cfd48d-2tbbm   1/1     Running   0          5s

//现在http_proxy设置为DEP-4的POD。

kubectl exec -it dep-4-59d5cfd48d-2tbbm -- printenv HTTP_PROXY
https://1.2.3.4:1234

You can use the set env to update the environment variable into the deployment:

kubectl set env deployment --all  --from=configmap/my-env-config

Example: The following example is demonstrating if there are multiple deployments, how to add env variables to their pods.

// I have the following deployments:

kubectl get deployment
NAME    READY   UP-TO-DATE   AVAILABLE   AGE
dep-1   1/1     1            1           5m21s
dep-2   1/1     1            1           41m
dep-4   1/1     1            1           3m17s

// their respective pods:

kubectl get pod
NAME                     READY   STATUS    RESTARTS   AGE
dep-1-84fcdf5-wblsm      1/1     Running   0          2m8s
dep-2-84fcdf5-qfbd5      1/1     Running   0          3m4s
dep-4-6cf4dcf794-wk476   1/1     Running   0          4s

// my config map:

apiVersion: v1
data:
  HTTP_PROXY: https://1.2.3.4:1234
kind: ConfigMap
metadata:
  creationTimestamp: "2022-05-04T16:52:00Z"
  name: my-env-config
  namespace: default
  resourceVersion: "1002232"
  uid: c8606312-90c6-45cf-86f0-f4f874f19909    

// HTTP_PROXY env variable is already set in dep-1

kubectl exec -it dep-1-84fcdf5-wblsm -- printenv HTTP_PROXY
https://1.2.3.4:1234

// HTTP_PROXY env variable is already set in dep-2

kubectl exec -it dep-2-84fcdf5-qfbd5 -- printenv HTTP_PROXY
https://1.2.3.4:1234

// HTTP_PROXY env variable is not set in dep-4, this is our focus

kubectl exec -it dep-4-6cf4dcf794-wk476 -- printenv HTTP_PROXY
command terminated with exit code 1

// SOLUTION: Setting env for all the deployments(--all) from a config map called my-env-config)

 kubectl set env deployment --all  --from=configmap/my-env-config
deployment.apps/dep-4 env updated

//Note the age of the pods, only dep-4's pod age is altered

kubectl get pod
NAME                     READY   STATUS    RESTARTS   AGE
dep-1-84fcdf5-wblsm      1/1     Running   0          3m40s
dep-2-84fcdf5-qfbd5      1/1     Running   0          4m36s
dep-4-59d5cfd48d-2tbbm   1/1     Running   0          5s

// now HTTP_PROXY is set in dep-4's pod.

kubectl exec -it dep-4-59d5cfd48d-2tbbm -- printenv HTTP_PROXY
https://1.2.3.4:1234
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文