顧名思義,ConfigMap用于保存配置數據的鍵值對,可以用來保存單個屬性,也可以用來保存配置文件。
創新互聯建站專注于阿克蘇網站建設服務及定制,我們擁有豐富的企業做網站經驗。 熱誠為您提供阿克蘇營銷型網站建設,阿克蘇網站制作、阿克蘇網頁設計、阿克蘇網站官網定制、重慶小程序開發服務,打造阿克蘇網絡公司原創品牌,更為您提供阿克蘇網站排名全網營銷落地服務。ConfigMap同Kubernetes的另一個概念secret類似,區別是ConfigMap主要用于保存不包含敏感信息的明文字符串。
創建方式:
kubectl create configmap special-config --from-literal=i042416=jerry
上述命令行創建了一個名為special-config的鍵值對,
key為i042416, 值為jerry
接下來我希望用這個key為i042416的值"jerry"來定義成pod里的一個環境變量。
下面是我的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文件導入,創建一個新的pod:
創建之后,能在pod的明細頁面看到configMap的key已經作為環境變量顯示出來了:
因為我yaml文件里指定pod執行的script為/bin/sh -c env, 因此最后會將容器里所有的環境變量都打印出來,我們定義在ConfigMap里的i042416的值jerry也被顯示了出來:
這種定義環境變量的做法和SAP云平臺CloudFoundry環境里定義環境變量的方式很類似。
CloudFoundry環境變量一覽表:
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環境下時,某些環境變量會自動被系統寫入相應的值,這個行為同ABAP的sy-sysid自動被設置為當前系統ID具有一樣的邏輯。
比如app router會把用戶訪問請求重定向到XSUAA實例上。
app router在manifest.yml里定義的XSUAA實例名稱為xsuaa-jerry-demo,
在運行時這個XSUAA的id會被SAP云平臺自動寫入環境變量VCAP_SERVICES里:
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙"
本文標題:Kubernetes里的ConfigMap的用途-創新互聯
網頁URL:http://vcdvsql.cn/article4/dscooe.html
成都網站建設公司_創新互聯,為您提供微信公眾號、App開發、虛擬主機、網站制作、小程序開發、做網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯