|NO.Z.00170|——————————|CloudNative|——|KuberNetes&配置管理.V01|-------------------------------------------------------|configmap.v01|從目錄建立configmap|
阿新 • • 發佈:2022-03-30
[CloudNative:KuberNetes&配置管理.V01] [Applications.KuberNetes] [|DevOps|k8s|配置管理|k8s配置管理ConfigMap|]
一、ConfigMap概述
### --- ConfigMap概述 ~~~ # 一般用ConfigMap去管理一些配置檔案、或者一些大量的環境變數資訊。 ~~~ ConfigMap將配置和Pod分開,有一個nginx,nginx.conf -> configmap,nginx ~~~ 更易於配置檔案的更改和管理。 ~~~ # Secret: ~~~ Secret更傾向於儲存和共享敏感、加密的配置資訊。
### --- ConfigMap中文地址:
~~~ https://kubernetes.io/zh/docs/tasks/configure-pod-container/configure-pod-configmap/
二、從目錄建立configmap
### --- 從目錄建立configmap ~~~ # 建立configmap資料夾 ~~~ 可以用來kubectl create configmap從同一目錄中的多個檔案建立ConfigMap。 ~~~ 當您基於目錄建立ConfigMap時,kubectl會識別基本名是目錄中有效金鑰的檔案, ~~~ 並將每個檔案打包到新的ConfigMap中。除常規檔案外, ~~~ 所有目錄條目都將被忽略(例如,子目錄,符號連結,裝置,管道等) [root@k8s-master01 ~]# mkdir -p configure-pod-container/configmap/
### --- 下載模板檔案 [root@k8s-master01 ~]# wget https://kubernetes.io/examples/configmap/game.properties -O configure-pod-container/configmap/game.properties [root@k8s-master01 ~]# wget https://kubernetes.io/examples/configmap/ui.properties -O configure-pod-container/configmap/ui.properties [root@k8s-master01 ~]# cd configure-pod-container/configmap/ game.properties ui.properties
### --- 這種是kv的形式
[root@k8s-master01 configmap]# cat game.properties
enemies=aliens
lives=3
enemies.cheat=true
enemies.cheat.level=noGoodRotten
secret.code.passphrase=UUDDLRLRBABAS
secret.code.allowed=true
secret.code.lives=30
[root@k8s-master01 configmap]# cat ui.properties
color.good=purple
color.bad=yellow
allow.textmode=true
how.nice.to.look=fairlyNice
三、從一個目錄建立多個檔案的configmap
### --- 從一個目錄建立多個檔案的configmap
[root@k8s-master01 configmap]# kubectl create configmap game-config --from-file=configure-pod-container/configmap/
configmap/game-config created
### --- 在這種情況下,以上命令將每個檔案打包,
~~~ game.properties並將目錄ui.properties中的每個檔案打包configure-pod-container/configmap/到game-config ConfigMap中。
~~~ 您可以使用以下命令顯示ConfigMap的詳細資訊:
~~~ 注:目錄中的game.properties和ui.properties
~~~ 檔案在ConfigMapconfigure-pod-container/configmap/的data部分中表示。
[root@k8s-master01 configmap]# kubectl describe configmaps game-config
Name: game-config
Namespace: default
Labels: <none>
Annotations: <none>
Data
====
game.properties: // 將這兩個檔案內容讀取到configmap中
----
enemies=aliens
lives=3
enemies.cheat=true
enemies.cheat.level=noGoodRotten
secret.code.passphrase=UUDDLRLRBABAS
secret.code.allowed=true
secret.code.lives=30
ui.properties: // 將這兩個檔案內容讀取到configmap中
----
color.good=purple
color.bad=yellow
allow.textmode=true
how.nice.to.look=fairlyNice
四、檢視建立的configmap的yaml配置檔案
### --- 檢視建立的configmap的yaml配置檔案
[root@k8s-master01 configmap]# kubectl get configmap game-config -oyaml
apiVersion: v1
data:
game.properties: |-
enemies=aliens
lives=3
enemies.cheat=true
enemies.cheat.level=noGoodRotten
secret.code.passphrase=UUDDLRLRBABAS
secret.code.allowed=true
secret.code.lives=30
ui.properties: |
color.good=purple
color.bad=yellow
allow.textmode=true
how.nice.to.look=fairlyNice
kind: ConfigMap
metadata:
creationTimestamp: "2021-04-23T15:34:24Z"
managedFields:
- apiVersion: v1
fieldsType: FieldsV1
fieldsV1:
f:data:
.: {}
f:game.properties: {}
f:ui.properties: {}
manager: kubectl-create
operation: Update
time: "2021-04-23T15:34:24Z"
name: game-config
namespace: default
resourceVersion: "597716"
uid: c4e4a7b3-a717-4b8a-98e1-b415e0fd533c
===============================END===============================
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart ——W.S.Landor
來自為知筆記(Wiz)