k8s入門之ConfigMap(九)
互聯網 2022/4/28 23:16:02
ConfigMap是k8s的配置管理工具,通常用來保存明文的配置信息,以key-value形式傳遞配置。
一、使用命令創建ConfigMap對象
1.通過--from-literal參數創建
kubectl create configmap mycm1 --from-literal=appid=order-app --from-literal=appsecret=dfdg12342
(1)查看創建結果
kubectl get secret
(2)使用describe命令查看詳情
kubectl describe secret mysecret1
(3)輸出yaml文件格式查看詳情
kubectl get secret mysecret1 -o yaml
2.通過已有的應用配置文件創建
(1)創建一個應用的配置文件
vi appsettings.json
(2)寫入以下測試內容
{ "Logging": { "LogLevel": { "Default": "Information", "Microsoft": "Warning", "Microsoft.Hosting.Lifetime": "Information" } }, "AllowedHosts": "*" }
(3)使用--from-file參數指定該文件
kubectl create cm mycm2 --from-file=appsettings.json
--from-file可以使用多次;也可以使用目錄,表示該目錄下所有的配置文件都會創建成cm對象,默認key為文件名。
(4)查看創建結果
二、使用yaml文件創建ConfigMap
1.創建yaml文件
vi cm-my3.yaml
2.編寫yaml文件內容
apiVersion: v1 kind: ConfigMap metadata: name: mycm3 data: ordersvc-conf: |+ IP: "192.168.59.110" Port: 10000
3.執行創建命令
kubectl apply -f cm-my3.yaml
4.查看創建結果
三、使用ConfigMap對象
1.通過環境變量的形式
liunx自帶的命令env,用來查看當前系統的環境變量,我們可以把cm對象設置到環境變量上來查看。
(1)新建pod對象的yaml文件
vi mycm1-env.yaml
(2)編寫yaml文件內容
apiVersion: v1 kind: Pod metadata: name: pod-test-mycm1 spec: containers: - name: pod-test-mycm1-bb image: busybox command: ["/bin/sh", "-c", "env"] # 從cm對象中獲取對應key的值賦值給環境變量 env: - name: APPID valueFrom: configMapKeyRef: name: mycm1 key: appid - name: APPSECRET valueFrom: configMapKeyRef: name: mycm1 key: appsecret
(3)創建pod
kubectl create -f mycm1-env.yaml
(4)查看pod,在默認名稱空間下
通過查看此pod的日志,可以看到輸出的環境變量信息是mycm1對象的信息
2.通過vloume掛載方式
(1)新建pod對象的yaml文件
vi mycm2-volume.yaml
(2)編寫yaml文件內容
apiVersion: v1 kind: Pod metadata: name: pod-test-mycm2 spec: containers: - name: pod-test-mycm2-bb image: busybox command: ["/bin/sh", "-c", "cat /etc/cms/my-appsettings.json"] volumeMounts: - name: cms mountPath: /etc/cms volumes: - name: cms configMap: name: mycm2 items: # 把cm對象掛載到文件名 - key: appsettings.json path: my-appsettings.json
(3)創建pod
kubectl create -f mycm2-volume.yaml
(4)查看pod,在默認名稱空間下
通過查看此pod的日志,可以看到輸出的信息是mycm2對象中的數據

關于找一找教程網
本站文章僅代表作者觀點,不代表本站立場,所有文章非營利性免費分享。
本站提供了軟件編程、網站開發技術、服務器運維、人工智能等等IT技術文章,希望廣大程序員努力學習,讓我們用科技改變世界。
[k8s入門之ConfigMap(九)]http://www.yachtsalesaustralia.com/tech/detail-317835.html
- 2022-05-03ubuntu 二進制部署k8s
- 2022-04-30純shell一鍵搭建k8s集群
- 2022-04-29Kubernetes的三種外部訪問方式:NodePort、LoadBalancer和Ingress
- 2022-04-26在 Kubernetes 部署 PostgreSQL-單機
- 2022-04-26【大話云原生】kubernetes灰度發布篇-從步行到坐纜車的自動化服務升級
- 2022-04-26【k8s】python日志在容器內不顯示
- 2022-04-25【大話云原生】kubernetes灰度發布篇-從步行到坐纜車的自動化服務升級
- 2022-04-23k8s client-go源碼分析 informer源碼分析(1)-概要分析
- 2022-04-21Kubernetes集群使用Volumes實現宿主機與容器內部文件、目錄共享
- 2022-04-21kubernetes集群中的port、targetPort、nodePort和containerPort區別