顧名思義,ConfigMap用于保存配置數(shù)據(jù)的鍵值對(duì),可以用來保存單個(gè)屬性,也可以用來保存配置文件。
ConfigMap同Kubernetes的另一個(gè)概念secret類似,區(qū)別是ConfigMap主要用于保存不包含敏感信息的明文字符串。
創(chuàng)建方式:
kubectl create configmap special-config --from-literal=i042416=jerry
上述命令行創(chuàng)建了一個(gè)名為special-config的鍵值對(duì),
key為i042416, 值為jerry
接下來我希望用這個(gè)key為i042416的值"jerry"來定義成pod里的一個(gè)環(huán)境變量。
下面是我的yaml文件:
apiVersion: v1
2 kind: Pod
3 metadata:
4 name: jerry-config-pod
5 spec:
6 containers:
7 - name: test-container
8 image: gcr.io/google_containers/busybox
9 command: [ "/bin/sh", "-c", "env" ]
10 env:
11 - name: JERRY_NAME
12 valueFrom:
13 configMapKeyRef:
14 name: special-config
15 key: i042416
16 restartPolicy: Never
可以看到第15行引用了我的ConfigMap的key:i042416
下面使用create -f將該yaml文件導(dǎo)入,創(chuàng)建一個(gè)新的pod:
創(chuàng)建之后,能在pod的明細(xì)頁面看到configMap的key已經(jīng)作為環(huán)境變量顯示出來了:
因?yàn)槲襶aml文件里指定pod執(zhí)行的script為/bin/sh -c env, 因此最后會(huì)將容器里所有的環(huán)境變量都打印出來,我們定義在ConfigMap里的i042416的值jerry也被顯示了出來:
這種定義環(huán)境變量的做法和SAP云平臺(tái)CloudFoundry環(huán)境里定義環(huán)境變量的方式很類似。
CloudFoundry環(huán)境變量一覽表:
https://docs.run.pivotal.io/devguide/deploy-apps/environment-variable.html
CF_INSTANCE_ADDR
CF_INSTANCE_GUID
CF_INSTANCE_INDEX
CF_INSTANCE_IP
CF_INSTANCE_INTERNAL_IP
CF_INSTANCE_PORT
CF_INSTANCE_PORTS
DATABASE_URL
HOME
LANG
MEMORY_LIMIT
PORT
PWD
TMPDIR
USER
VCAP_APP_PORT
VCAP_APPLICATION
VCAP_SERVICES
當(dāng)使用cf push命令將本地應(yīng)用部署到SAP云平臺(tái)的CloudFoundry環(huán)境下時(shí),某些環(huán)境變量會(huì)自動(dòng)被系統(tǒng)寫入相應(yīng)的值,這個(gè)行為同ABAP的sy-sysid自動(dòng)被設(shè)置為當(dāng)前系統(tǒng)ID具有一樣的邏輯。
比如app router會(huì)把用戶訪問請(qǐng)求重定向到XSUAA實(shí)例上。
app router在manifest.yml里定義的XSUAA實(shí)例名稱為xsuaa-jerry-demo,
在運(yùn)行時(shí)這個(gè)XSUAA的id會(huì)被SAP云平臺(tái)自動(dòng)寫入環(huán)境變量VCAP_SERVICES里:
要獲取更多Jerry的原創(chuàng)文章,請(qǐng)關(guān)注公眾號(hào)"汪子熙"
本文標(biāo)題:Kubernetes里的ConfigMap的用途-創(chuàng)新互聯(lián)
網(wǎng)頁URL:http://www.ekvhdxd.cn/article4/dscooe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)、App開發(fā)、虛擬主機(jī)、網(wǎng)站制作、小程序開發(fā)、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容