Kubernetes裡的ConfigMap的用途
顧名思義,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的原創文章,請關注公眾號"汪子熙"
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2216115/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Kubernetes中的Configmap和Secret
- ConfigMap 使用 | kubernetes 篇
- 如何使用Kubernetes的configmap通過環境變數注入到pod裡變數
- Kubernetes 漫遊:理解 ConfigMap
- Kubernetes利用Volume掛載ConfigMap與Secret
- Kubernetes 實戰——配置應用(ConfigMap、Secret)
- kubernetes系列12—二個特色的儲存卷configmap和secret
- Kubernetes裡的Operator
- 在Spring Boot應用程式中使用Kubernetes ConfigMapSpring Boot
- Kubernetes(k8s)配置檔案管理:ConfigMapK8S
- kubernetes實踐之三十五:Pod配置管理ConfigMap
- Kubernetes K8S之儲存ConfigMap詳解K8S
- Angular tsconfig.json 檔案裡的 paths 用途AngularJSON
- Kubernetes裡的secret最基本的用法
- ConfigMap
- Kubernetes學習筆記(六):使用ConfigMap和Secret配置應用程式筆記
- Secret、ConfigMap
- 【原創】Kuberneters-ConfigMap的實踐
- [ChatGPT 勘誤] SAP ABAP 裡 cl_r3standard_persistence 的用途?ChatGPT
- Kubernetes決勝Swarm的優勢在這裡?Swarm
- k8s中ConfigMap的timezone使用K8S
- Python爬蟲的用途Python爬蟲
- 雲主機的用途
- 通過一個例子學習Kubernetes裡的PersistentVolumeClaim的用法AI
- 在kubernetes裡使用seccomp限制容器的系統呼叫
- 如何在Kubernetes 裡新增自定義的 API 物件(一)API物件
- [ChatGPT 勘誤]SAP ABAP 裡 CL_WB_ED_ENHANCEMENT_HANDLER 的用途介紹ChatGPT
- 爬蟲的用途有哪些爬蟲
- 按用途分類的SRAM
- firewalld: 各個zone的用途
- CDN的用途是什麼
- [ChatGPT 勘誤]:SAP ABAP 系統裡資料庫表 dlv_systc 的用途ChatGPT資料庫
- Kubernetes pod裡一個特殊的容器:pause-amd64
- 使用Kubernetes裡的job計算圓周率後2000位
- Slice 的用途-作為棧的例子
- 在kubernetes裡使用AppArmor限制容器對資源的訪問APP
- update-initramfs的用途和功能
- VPS主機的用途有哪些?