Kubernetes里的ConfigMap的用途-創(chuàng)新互聯(lián)

顧名思義,ConfigMap用于保存配置數(shù)據(jù)的鍵值對,可以用來保存單個屬性,也可以用來保存配置文件。

創(chuàng)新互聯(lián)建站專注于阿克蘇網(wǎng)站建設服務及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供阿克蘇營銷型網(wǎng)站建設,阿克蘇網(wǎng)站制作、阿克蘇網(wǎng)頁設計、阿克蘇網(wǎng)站官網(wǎng)定制、重慶小程序開發(fā)服務,打造阿克蘇網(wǎng)絡公司原創(chuàng)品牌,更為您提供阿克蘇網(wǎng)站排名全網(wǎng)營銷落地服務。

ConfigMap同Kubernetes的另一個概念secret類似,區(qū)別是ConfigMap主要用于保存不包含敏感信息的明文字符串。

創(chuàng)建方式:

kubectl create configmap special-config --from-literal=i042416=jerry

上述命令行創(chuàng)建了一個名為special-config的鍵值對,

Kubernetes里的ConfigMap的用途

Kubernetes里的ConfigMap的用途

key為i042416, 值為jerry

Kubernetes里的ConfigMap的用途

接下來我希望用這個key為i042416的值"jerry"來定義成pod里的一個環(huán)境變量。

下面是我的yaml文件:

Kubernetes里的ConfigMap的用途

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文件導入,創(chuàng)建一個新的pod:

Kubernetes里的ConfigMap的用途

創(chuàng)建之后,能在pod的明細頁面看到configMap的key已經(jīng)作為環(huán)境變量顯示出來了:

Kubernetes里的ConfigMap的用途

因為我yaml文件里指定pod執(zhí)行的script為/bin/sh -c env, 因此最后會將容器里所有的環(huán)境變量都打印出來,我們定義在ConfigMap里的i042416的值jerry也被顯示了出來:

Kubernetes里的ConfigMap的用途

這種定義環(huán)境變量的做法和SAP云平臺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

當使用cf push命令將本地應用部署到SAP云平臺的CloudFoundry環(huán)境下時,某些環(huán)境變量會自動被系統(tǒng)寫入相應的值,這個行為同ABAP的sy-sysid自動被設置為當前系統(tǒng)ID具有一樣的邏輯。

比如app router會把用戶訪問請求重定向到XSUAA實例上。

Kubernetes里的ConfigMap的用途

app router在manifest.yml里定義的XSUAA實例名稱為xsuaa-jerry-demo,

Kubernetes里的ConfigMap的用途

在運行時這個XSUAA的id會被SAP云平臺自動寫入環(huán)境變量VCAP_SERVICES里:

Kubernetes里的ConfigMap的用途

要獲取更多Jerry的原創(chuàng)文章,請關注公眾號"汪子熙"

本文標題:Kubernetes里的ConfigMap的用途-創(chuàng)新互聯(lián)
網(wǎng)頁URL:http://bm7419.com/article4/dscooe.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供微信公眾號、App開發(fā)虛擬主機、網(wǎng)站制作、小程序開發(fā)、做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司