您好,登錄后才能下訂單哦!
這篇文章主要講解了“怎么用Kubernetes的configmap通過環境變量注入到pod里”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“怎么用Kubernetes的configmap通過環境變量注入到pod里”吧!
在Kubernetes官網里,有這樣一篇文章,提到了Kubernetes里的一個最佳實踐就是把應用代碼同配置信息分開,一種方式就是使用Kubernetes 1.2里引入的configmap概念。
https://kubernetes.io/blog/2016/04/configuration-management-with-containers/
configmap實際上就是一系列鍵值對,存儲于etcd里。etcd的官網有這樣一句話:
etcd is a distributed key-value store designed to reliably and quickly preserve and provide access to critical data.
https://github.com/etcd-io/etcd/blob/master/Documentation/docs.md
etcd是一個高性能的分布式鍵值對存儲庫,用于存儲和訪問關鍵數據。
使用下面的命令行創建一個Kubernetes config map:
kubectl create configmap test-config --from-literal=test.type=unit --from-literal=test.exec=always
創建一個名為test-config的鍵值對,key為test.type,值為unit,key為test.exec, 值為always。
下面我打算創建一個pod,消費這個名為test-config的configmap。
創建一個內容如下的yaml文件:
apiVersion: v1kind: Podmetadata:name: test-configmapspec:containers:- name: test-containerimage: alpine:3.8command: [ "/bin/sh", "-c", "env" ]env:- name: TEST_TYPEvalueFrom:configMapKeyRef:name: test-configkey: test.type- name: TEST_EXECvalueFrom:configMapKeyRef:name: test-configkey: test.execrestartPolicy: Never
這個yaml文件定義的pod基于docker鏡像alpine,執行shell命令/bin/sh -c env查看環境變量。
在env區域,我給該pod注入一個名為TEST_TYPE的環境變量,值從configMap鍵值對的鍵名稱為test.type的值中取。
kubectl create -f 創建這個pod:
使用命令kubectl logs test-configmap查看這個pod運行生成的日志,發現輸出的環境變量列表中,出現了TEST_TYPE=unit,這個TEST_TYPE是我在yaml文件里注入的環境變量名稱,而unit就來自configmap里test-config的值unit。
感謝各位的閱讀,以上就是“怎么用Kubernetes的configmap通過環境變量注入到pod里”的內容了,經過本文的學習后,相信大家對怎么用Kubernetes的configmap通過環境變量注入到pod里這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。