成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何在 Kubernetes Pod 中注入環(huán)境變量及優(yōu)先級問題

開發(fā) 前端
有兩種方式引用 ConfigMap 中的變量:通過 envFrom 引用 ConfigMap 中全部變量,通過 valueFrom 引用 ConfigMap 中指定變量。

?1. Kubernetes Pod 引用環(huán)境變量的幾種方式

1.1 直接 Key/Value

可以直接設(shè)置 Value 值,也可以將當(dāng)前 Pod 的信息作為 Value 值。

apiVersion: v1
kind: Pod
metadata:
name: envar-demo
labels:
purpose: demonstrate-envars
spec:
containers:
- name: envar-demo-container
image: gcr.io/google-samples/node-hello:1.0
env:
- name: DEMO_GREETING
value: "Hello from the environment"
- name: DEMO_FAREWELL
value: "Such a sweet sorrow"
- name: MY_NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- name: MY_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name

1.2 從 Secret 引用

有兩種方式引用 Secret 中的變量:

  • 通過 envFrom 引用 Secret 中全部變量
  • 通過 valueFrom 引用 Secret 中指定變量
apiVersion: v1
kind: Pod
metadata:
name: secret-env-pod
spec:
containers:
- name: mycontainer
image: redis
envFrom:
- secretRef:
name: secret-config
env:
- name: SECRET_USERNAME
valueFrom:
secretKeyRef:
name: secret-config
key: username
- name: SECRET_PASSWORD
valueFrom:
secretKeyRef:
name: secret-config
key: password

1.3 從 ConfigMap 引用

有兩種方式引用 ConfigMap 中的變量:

  • 通過 envFrom 引用 ConfigMap 中全部變量
  • 通過 valueFrom 引用 ConfigMap 中指定變量
apiVersion: v1
kind: Pod
metadata:
name: dapi-test-pod
spec:
containers:
- name: test-container
image: k8s.gcr.io/busybox
envFrom:
- configMapRef:
name: configmap-config
env:
- name: SPECIAL_LEVEL_KEY
valueFrom:
configMapKeyRef:
name: special-config
key: special.how
- name: LOG_LEVEL
valueFrom:
configMapKeyRef:
name: env-config
key: log_level

2. 變量引用的優(yōu)先級

從源碼中可以看到的實(shí)現(xiàn)邏輯是,會初始化一個(gè) Map 存放環(huán)境變量,然后按照如下步驟進(jìn)行處理:

  1. 按順序遍歷 envFrom 引用的 ConfigMap 和 Secret 的 Key/Value
  2. 按順序遍歷 env 中的設(shè)置的 Key/Value
  3. 由于 Pod 默認(rèn)開啟了 EnableServiceLinks,最后還需要將 Service 相關(guān)變量注入

優(yōu)先級是,Service 變量 > Env > EnvFrom,其中 EnvFrom 的優(yōu)先級是后面覆蓋前面。

這里單獨(dú)說下,注入到環(huán)境變量中的 Service 相關(guān)變量:

  • 注入的范圍。所在命名空間的所有 Service
  • 注入的內(nèi)容。同一命名空間下,所有的服務(wù)地址、端口、協(xié)議。
  • 注入的格式。大寫字母加下劃線的格式,例如ADMIN_WEB_PC_TEST_PORT_80_TCP=tcp://10.233.45.183:80,ADMIN_WEB_PC_TEST_PORT=tcp://10.233.45.183:80,ADMIN_WEB_PC_TEST_PORT_80_TCP_ADDR=10.233.45.183,ADMIN_WEB_PC_TEST_PORT_80_TCP_PORT=80,ADMIN_WEB_PC_TEST_PORT_80_TCP_PROTO=tcp 。如果同一個(gè)命名空間下,部署大量服務(wù),每個(gè) Pod 中可能會增加幾百個(gè)這樣的變量。

3. 參考

  • https://github.com/kubernetes/kubernetes/blob/eacbf87bfe105b1b24f6226640ea85c93462401e/pkg/kubelet/kubelet_pods.go#L575
  • https://github.com/kubernetes/kubernetes/blob/eacbf87bfe105b1b24f6226640ea85c93462401e/pkg/kubelet/envvars/envvars.go#L32:6

責(zé)任編輯:武曉燕 來源: 問其
相關(guān)推薦

2022-10-14 13:33:35

2012-08-14 09:38:29

WAN優(yōu)化

2020-09-30 09:07:37

DevOps

2020-08-05 09:48:20

Docker容器工具

2022-12-23 09:41:14

優(yōu)先級反轉(zhuǎn)

2015-06-02 11:26:29

產(chǎn)品團(tuán)隊(duì)

2015-11-19 15:01:11

JAVA_HOMELinux

2010-01-12 15:46:54

Fedora JDK

2009-08-28 17:10:59

C#線程優(yōu)先級

2010-08-31 11:04:48

CSS優(yōu)先級

2010-09-01 14:10:36

CSS優(yōu)先級

2023-01-05 08:48:57

技術(shù)管理排優(yōu)先級

2010-09-13 17:30:07

CSS優(yōu)先級

2024-12-10 08:27:28

2015-07-10 09:05:33

ASP.NET路由優(yōu)先級

2015-10-29 13:15:50

ASP.NETWebApi路由

2023-08-28 15:52:10

LinuxPDF

2023-02-09 16:47:34

KubernetesPod優(yōu)先級

2015-08-10 14:37:27

LinuxBash環(huán)境變量

2024-05-20 10:03:15

線程池優(yōu)先級隊(duì)列排序方法
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 久久中文免费视频 | 美女视频. | 免费观看一级特黄欧美大片 | 久久精品国产一区二区三区 | 一区二区精品电影 | 国产99热精品 | 国产精品www | 精品亚洲一区二区三区四区五区 | 久久四虎 | 成人在线视频免费观看 | 欧美日韩高清 | 91一区二区三区在线观看 | 精品国产91亚洲一区二区三区www | 亚洲综合色网 | 国产精品毛片久久久久久 | 亚洲精品久久久久中文字幕欢迎你 | 久热国产在线 | 欧产日产国产精品视频 | 国产精品区一区二区三 | 欧美专区在线 | 欧美精品久久久久 | 成年人在线 | 久久午夜精品福利一区二区 | 中国一级特黄真人毛片 | 国产免费又黄又爽又刺激蜜月al | 精品国产一区二区三区成人影院 | 欧美一二区 | 国产一区二区三区四区五区加勒比 | 亚洲日韩中文字幕一区 | 九九色综合 | 午夜在线 | 国产高清免费视频 | 日韩精品中文字幕一区二区三区 | 成人欧美一区二区三区在线观看 | 国产伦精品一区二区三区在线 | 中文字幕av免费 | 99久久久久| 成人午夜免费网站 | 国产女人第一次做爰毛片 | 国产精品一区二区三区99 | 嫩草视频网站 |