W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
很多應(yīng)用在其初始化或運行期間要依賴一些配置信息。大多數(shù)時候, 存在要調(diào)整配置參數(shù)所設(shè)置的數(shù)值的需求。 ConfigMap 是 Kubernetes 用來向應(yīng)用 Pod 中注入配置數(shù)據(jù)的方法。
ConfigMap 允許你將配置文件與鏡像文件分離,以使容器化的應(yīng)用程序具有可移植性。 本頁提供了一系列使用示例,這些示例演示了如何創(chuàng)建 ConfigMap 以及配置 Pod 使用存儲在 ConfigMap 中的數(shù)據(jù)。
你必須擁有一個 Kubernetes 的集群,同時你的 Kubernetes 集群必須帶有 kubectl 命令行工具。 建議在至少有兩個節(jié)點的集群上運行本教程,且這些節(jié)點不作為控制平面主機。 如果你還沒有集群,你可以通過 Minikube 構(gòu)建一個你自己的集群,或者你可以使用下面任意一個 Kubernetes 工具構(gòu)建:
要檢查版本,請輸入 ?kubectl version
?。
你可以使用 ?kubectl create configmap
? 或者在 ?kustomization.yaml
? 中的 ConfigMap 生成器來創(chuàng)建 ConfigMap。注意,?kubectl
?從 1.14 版本開始支持 ?kustomization.yaml
?。
你可以使用 ?kubectl create configmap
? 命令基于目錄、 文件或者字面值來創(chuàng)建 ConfigMap:
kubectl create configmap <映射名稱> <數(shù)據(jù)源>
其中,?<映射名稱>
? 是為 ConfigMap 指定的名稱,?<數(shù)據(jù)源>
?是要從中提取數(shù)據(jù)的目錄、 文件或者字面值。 ConfigMap 對象的名稱必須是合法的 DNS 子域名.
在你基于文件來創(chuàng)建 ConfigMap 時,?<數(shù)據(jù)源>
? 中的鍵名默認(rèn)取自文件的基本名, 而對應(yīng)的值則默認(rèn)為文件的內(nèi)容。
你可以使用?kubectl describe
? 或者 ?kubectl get
? 獲取有關(guān) ConfigMap 的信息。
你可以使用 ?kubectl create configmap
? 基于同一目錄中的多個文件創(chuàng)建 ConfigMap。 當(dāng)你基于目錄來創(chuàng)建 ConfigMap 時,kubectl 識別目錄下基本名可以作為合法鍵名的文件, 并將這些文件打包到新的 ConfigMap 中。普通文件之外的所有目錄項都會被忽略 (例如:子目錄、符號鏈接、設(shè)備、管道等等)。
例如:
# 創(chuàng)建本地目錄
mkdir -p configure-pod-container/configmap/
# 將示例文件下載到 `configure-pod-container/configmap/` 目錄
wget https://kubernetes.io/examples/configmap/game.properties -O configure-pod-container/configmap/game.properties
wget https://kubernetes.io/examples/configmap/ui.properties -O configure-pod-container/configmap/ui.properties
# 創(chuàng)建 configmap
kubectl create configmap game-config --from-file=configure-pod-container/configmap/
以上命令將 ?configure-pod-container/configmap
? 目錄下的所有文件,也就是 ?game.properties
? 和 ?ui.properties
? 打包到 game-config ConfigMap 中。你可以使用下面的命令顯示 ConfigMap 的詳細(xì)信息:
kubectl describe configmaps game-config
輸出類似以下內(nèi)容:
Name: game-config
Namespace: default
Labels: <none>
Annotations: <none>
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
?configure-pod-container/configmap/
? 目錄中的 ?game.properties
? 和 ?ui.properties
? 文件出現(xiàn)在 ConfigMap 的 ?data
?部分。
kubectl get configmaps game-config -o yaml
輸出類似以下內(nèi)容:
apiVersion: v1
kind: ConfigMap
metadata:
creationTimestamp: 2016-02-18T18:52:05Z
name: game-config
namespace: default
resourceVersion: "516"
uid: b4952dc3-d670-11e5-8cd0-68f728db1985
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
你可以使用 ?kubectl create configmap
? 基于單個文件或多個文件創(chuàng)建 ConfigMap。
例如:
kubectl create configmap game-config-2 --from-file=configure-pod-container/configmap/game.properties
將產(chǎn)生以下 ConfigMap:
kubectl describe configmaps game-config-2
輸出類似以下內(nèi)容:
Name: game-config-2
Namespace: default
Labels: <none>
Annotations: <none>
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
你可以多次使用 ?--from-file
? 參數(shù),從多個數(shù)據(jù)源創(chuàng)建 ConfigMap。
kubectl create configmap game-config-2 --from-file=configure-pod-container/configmap/game.properties --from-file=configure-pod-container/configmap/ui.properties
你可以使用以下命令顯示 ?game-config-2
? ConfigMap 的詳細(xì)信息:
kubectl describe configmaps game-config-2
輸出類似以下內(nèi)容:
Name: game-config-2
Namespace: default
Labels: <none>
Annotations: <none>
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
當(dāng) ?kubectl
?基于非 ASCII 或 UTF-8 的輸入創(chuàng)建 ConfigMap 時, 該工具將這些輸入放入 ConfigMap 的 ?binaryData
?字段,而不是 ?data
?中。 同一個 ConfigMap 中可同時包含文本數(shù)據(jù)和二進(jìn)制數(shù)據(jù)源。 如果你想查看 ConfigMap 中的 ?binaryData
?鍵(及其值), 你可以運行 ?kubectl get configmap -o jsonpath='{.binaryData}' <name>
?。
使用 ?--from-env-file
? 選項從環(huán)境文件創(chuàng)建 ConfigMap,例如:
Env 文件包含環(huán)境變量列表。其中適用以下語法規(guī)則:
將示例文件下載到 ?configure-pod-container/configmap/
? 目錄:
wget https://kubernetes.io/examples/configmap/game-env-file.properties -O configure-pod-container/configmap/game-env-file.properties
wget https://kubernetes.io/examples/configmap/ui-env-file.properties -O configure-pod-container/configmap/ui-env-file.properties
Env 文件 ?game-env-file.properties
? 如下所示:
cat configure-pod-container/configmap/game-env-file.properties
enemies=aliens
lives=3
allowed="true"
kubectl create configmap game-config-env-file \
--from-env-file=configure-pod-container/configmap/game-env-file.properties
將產(chǎn)生以下 ConfigMap:
kubectl get configmap game-config-env-file -o yaml
輸出類似以下內(nèi)容:
apiVersion: v1
kind: ConfigMap
metadata:
creationTimestamp: 2017-12-27T18:36:28Z
name: game-config-env-file
namespace: default
resourceVersion: "809965"
selfLink: /api/v1/namespaces/default/configmaps/game-config-env-file
uid: d9d1ca5b-eb34-11e7-887b-42010a8002b8
data:
allowed: '"true"'
enemies: aliens
lives: "3"
從 Kubernetes 1.23 版本開始,?kubectl
?支持多次指定 ?--from-env-file
? 參數(shù)來從多個數(shù)據(jù)源創(chuàng)建 ConfigMap。
kubectl create configmap config-multi-env-files \
--from-env-file=configure-pod-container/configmap/game-env-file.properties \
--from-env-file=configure-pod-container/configmap/ui-env-file.properties
將產(chǎn)生以下 ConfigMap:
kubectl get configmap config-multi-env-files -o yaml
輸出類似以下內(nèi)容:
apiVersion: v1
kind: ConfigMap
metadata:
creationTimestamp: 2017-12-27T18:38:34Z
name: config-multi-env-files
namespace: default
resourceVersion: "810136"
uid: 252c4572-eb35-11e7-887b-42010a8002b8
data:
allowed: '"true"'
color: purple
enemies: aliens
how: fairlyNice
lives: "3"
textmode: "true"
在使用 ?--from-file
? 參數(shù)時,你可以定義在 ConfigMap 的 ?data
?部分出現(xiàn)鍵名, 而不是按默認(rèn)行為使用文件名:
kubectl create configmap game-config-3 --from-file=<我的鍵名>=<文件路徑>
?<我的鍵名>
?是你要在 ConfigMap 中使用的鍵名,?<文件路徑>
?是你想要鍵所表示的數(shù)據(jù)源文件的位置。
例如:
kubectl create configmap game-config-3 --from-file=game-special-key=configure-pod-container/configmap/game.properties
將產(chǎn)生以下 ConfigMap:
kubectl get configmaps game-config-3 -o yaml
輸出類似以下內(nèi)容:
apiVersion: v1
kind: ConfigMap
metadata:
creationTimestamp: 2016-02-18T18:54:22Z
name: game-config-3
namespace: default
resourceVersion: "530"
uid: 05f8da22-d671-11e5-8cd0-68f728db1985
data:
game-special-key: |
enemies=aliens
lives=3
enemies.cheat=true
enemies.cheat.level=noGoodRotten
secret.code.passphrase=UUDDLRLRBABAS
secret.code.allowed=true
secret.code.lives=30
你可以將 ?kubectl create configmap
? 與 ?--from-literal
? 參數(shù)一起使用, 通過命令行定義文字值:
kubectl create configmap special-config --from-literal=special.how=very --from-literal=special.type=charm
你可以傳入多個鍵值對。命令行中提供的每對鍵值在 ConfigMap 的 ?data
?部分中均表示為單獨的條目。
kubectl get configmaps special-config -o yaml
輸出類似以下內(nèi)容:
apiVersion: v1
kind: ConfigMap
metadata:
creationTimestamp: 2016-02-18T19:14:38Z
name: special-config
namespace: default
resourceVersion: "651"
uid: dadce046-d673-11e5-8cd0-68f728db1985
data:
special.how: very
special.type: charm
自 1.14 開始,?kubectl
?開始支持 ?kustomization.yaml
?。 你還可以基于生成器(Generators)創(chuàng)建 ConfigMap,然后將其應(yīng)用于 API 服務(wù)器上創(chuàng)建對象。 生成器應(yīng)在目錄內(nèi)的 ?kustomization.yaml
? 中指定。
例如,要基于 ?configure-pod-container/configmap/game.properties
? 文件生成一個 ConfigMap:
# 創(chuàng)建包含 ConfigMapGenerator 的 kustomization.yaml 文件
cat <<EOF >./kustomization.yaml
configMapGenerator:
- name: game-config-4
files:
- configure-pod-container/configmap/game.properties
EOF
應(yīng)用(Apply)kustomization 目錄創(chuàng)建 ConfigMap 對象:
kubectl apply -k .
configmap/game-config-4-m9dm2f92bt created
你可以檢查 ConfigMap 被創(chuàng)建如下:
kubectl get configmap
NAME DATA AGE
game-config-4-m9dm2f92bt 1 37s
kubectl describe configmaps/game-config-4-m9dm2f92bt
Name: game-config-4-m9dm2f92bt
Namespace: default
Labels: <none>
Annotations: kubectl.kubernetes.io/last-applied-configuration:
{"apiVersion":"v1","data":{"game.properties":"enemies=aliens\nlives=3\nenemies.cheat=true\nenemies.cheat.level=noGoodRotten\nsecret.code.p...
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
Events: <none>
請注意,生成的 ConfigMap 名稱具有通過對內(nèi)容進(jìn)行散列而附加的后綴, 這樣可以確保每次修改內(nèi)容時都會生成新的 ConfigMap。
在 ConfigMap 生成器中,你可以定義一個非文件名的鍵名。 例如,從 ?configure-pod-container/configmap/game.properties
? 文件生成 ConfigMap, 但使用 ?game-special-key
? 作為鍵名:
# 創(chuàng)建包含 ConfigMapGenerator 的 kustomization.yaml 文件
cat <<EOF >./kustomization.yaml
configMapGenerator:
- name: game-config-5
files:
- game-special-key=configure-pod-container/configmap/game.properties
EOF
應(yīng)用 Kustomization 目錄創(chuàng)建 ConfigMap 對象。
kubectl apply -k .
configmap/game-config-5-m67dt67794 created
要基于字符串 ?special.type=charm
? 和 ?special.how=very
? 生成 ConfigMap, 可以在 ?kustomization.yaml
? 中配置 ConfigMap 生成器:
# 創(chuàng)建帶有 ConfigMapGenerator 的 kustomization.yaml 文件
cat <<EOF >./kustomization.yaml
configMapGenerator:
- name: special-config-2
literals:
- special.how=very
- special.type=charm
EOF
應(yīng)用 Kustomization 目錄創(chuàng)建 ConfigMap 對象。
kubectl apply -k .
configmap/special-config-2-c92b5mmcf2 created
kubectl create configmap special-config --from-literal=special.how=very
special.how
? 賦值給 Pod 規(guī)約中的 ?SPECIAL_LEVEL_KEY
?環(huán)境變量。apiVersion: v1
kind: Pod
metadata:
name: dapi-test-pod
spec:
containers:
- name: test-container
image: k8s.gcr.io/busybox
command: [ "/bin/sh", "-c", "env" ]
env:
# 定義環(huán)境變量
- name: SPECIAL_LEVEL_KEY
valueFrom:
configMapKeyRef:
# ConfigMap 包含你要賦給 SPECIAL_LEVEL_KEY 的值
name: special-config
# 指定與取值相關(guān)的鍵名
key: special.how
restartPolicy: Never
創(chuàng)建 Pod:
kubectl create -f https://kubernetes.io/examples/pods/pod-single-configmap-env-variable.yaml
現(xiàn)在,Pod 的輸出包含環(huán)境變量 ?SPECIAL_LEVEL_KEY=very
?。
apiVersion: v1
kind: ConfigMap
metadata:
name: special-config
namespace: default
data:
special.how: very
---
apiVersion: v1
kind: ConfigMap
metadata:
name: env-config
namespace: default
data:
log_level: INFO
創(chuàng)建 ConfigMap:
kubectl create -f https://kubernetes.io/examples/configmap/configmaps.yaml
apiVersion: v1
kind: Pod
metadata:
name: dapi-test-pod
spec:
containers:
- name: test-container
image: k8s.gcr.io/busybox
command: [ "/bin/sh", "-c", "env" ]
env:
- name: SPECIAL_LEVEL_KEY
valueFrom:
configMapKeyRef:
name: special-config
key: special.how
- name: LOG_LEVEL
valueFrom:
configMapKeyRef:
name: env-config
key: log_level
restartPolicy: Never
創(chuàng)建 Pod:
kubectl create -f https://kubernetes.io/examples/pods/pod-multiple-configmap-env-variable.yaml
現(xiàn)在,Pod 的輸出包含環(huán)境變量 ?SPECIAL_LEVEL_KEY=very
? 和 ?LOG_LEVEL=INFO
?。
Note: Kubernetes v1.6 和更高版本支持此功能。
apiVersion: v1
kind: ConfigMap
metadata:
name: special-config
namespace: default
data:
SPECIAL_LEVEL: very
SPECIAL_TYPE: charm
創(chuàng)建 ConfigMap:
kubectl create -f https://kubernetes.io/examples/configmap/configmap-multikeys.yaml
envFrom
?將所有 ConfigMap 的數(shù)據(jù)定義為容器環(huán)境變量,ConfigMap 中的鍵成為 Pod 中的環(huán)境變量名稱。apiVersion: v1
kind: Pod
metadata:
name: dapi-test-pod
spec:
containers:
- name: test-container
image: k8s.gcr.io/busybox
command: [ "/bin/sh", "-c", "env" ]
envFrom:
- configMapRef:
name: special-config
restartPolicy: Never
創(chuàng)建 Pod:
kubectl create -f https://kubernetes.io/examples/pods/pod-configmap-envFrom.yaml
現(xiàn)在,Pod 的輸出包含環(huán)境變量 ?SPECIAL_LEVEL=very
? 和 ?SPECIAL_TYPE=charm
?。
你可以使用 ?$(VAR_NAME)
? Kubernetes 替換語法在容器的 ?command
?和 ?args
?屬性中使用 ConfigMap 定義的環(huán)境變量。
例如,以下 Pod 規(guī)約
apiVersion: v1
kind: Pod
metadata:
name: dapi-test-pod
spec:
containers:
- name: test-container
image: k8s.gcr.io/busybox
command: [ "/bin/echo", "$(SPECIAL_LEVEL_KEY) $(SPECIAL_TYPE_KEY)" ]
env:
- name: SPECIAL_LEVEL_KEY
valueFrom:
configMapKeyRef:
name: special-config
key: SPECIAL_LEVEL
- name: SPECIAL_TYPE_KEY
valueFrom:
configMapKeyRef:
name: special-config
key: SPECIAL_TYPE
restartPolicy: Never
通過運行下面命令創(chuàng)建 Pod:
kubectl create -f https://kubernetes.io/examples/pods/pod-configmap-env-var-valueFrom.yaml
在 ?test-container
? 容器中產(chǎn)生以下輸出:
very charm
如基于文件創(chuàng)建 ConfigMap 中所述,當(dāng)你使用 ?--from-file
? 創(chuàng)建 ConfigMap 時,文件名成為存儲在 ConfigMap 的 ?data
?部分中的鍵, 文件內(nèi)容成為鍵對應(yīng)的值。
本節(jié)中的示例引用了一個名為 'special-config' 的 ConfigMap,如下所示:
apiVersion: v1
kind: ConfigMap
metadata:
name: special-config
namespace: default
data:
SPECIAL_LEVEL: very
SPECIAL_TYPE: charm
創(chuàng)建 ConfigMap:
kubectl create -f https://kubernetes.io/examples/configmap/configmap-multikeys.yaml
在 Pod 規(guī)約的 ?volumes
?部分下添加 ConfigMap 名稱。 這會將 ConfigMap 數(shù)據(jù)添加到 ?volumeMounts.mountPath
? 所指定的目錄 (在本例中為 ?/etc/config
?)。 ?command
?部分列出了名稱與 ConfigMap 中的鍵匹配的目錄文件。
apiVersion: v1
kind: Pod
metadata:
name: dapi-test-pod
spec:
containers:
- name: test-container
image: k8s.gcr.io/busybox
command: [ "/bin/sh", "-c", "ls /etc/config/" ]
volumeMounts:
- name: config-volume
mountPath: /etc/config
volumes:
- name: config-volume
configMap:
# 提供包含要添加到容器中的文件的 ConfigMap 的名稱
name: special-config
restartPolicy: Never
創(chuàng)建 Pod:
kubectl create -f https://kubernetes.io/examples/pods/pod-configmap-volume.yaml
Pod 運行時,命令 ?ls /etc/config/
? 產(chǎn)生下面的輸出:
SPECIAL_LEVEL
SPECIAL_TYPE
Caution: 如果在 ?
/etc/config/
? 目錄中有一些文件,這些文件將被刪除。
Note: 文本數(shù)據(jù)會展現(xiàn)為 UTF-8 字符編碼的文件。如果使用其他字符編碼, 可以使用 ?
binaryData
?。
使用 ?path
?字段為特定的 ConfigMap 項目指定預(yù)期的文件路徑。 在這里,ConfigMap 中鍵 ?SPECIAL_LEVEL
?的內(nèi)容將掛載在 ?config-volume
? 卷中 ?/etc/config/keys
? 文件中。
apiVersion: v1
kind: Pod
metadata:
name: dapi-test-pod
spec:
containers:
- name: test-container
image: k8s.gcr.io/busybox
command: [ "/bin/sh","-c","cat /etc/config/keys" ]
volumeMounts:
- name: config-volume
mountPath: /etc/config
volumes:
- name: config-volume
configMap:
name: special-config
items:
- key: SPECIAL_LEVEL
path: keys
restartPolicy: Never
創(chuàng)建Pod:
kubectl create -f https://kubernetes.io/examples/pods/pod-configmap-volume-specific-key.yaml
當(dāng) Pod 運行時,命令 ?cat /etc/config/keys
? 產(chǎn)生以下輸出:
very
Caution: 如前,?
/etc/config/
? 目錄中所有先前的文件都將被刪除。
你可以將指定鍵名投射到特定目錄,也可以逐個文件地設(shè)定訪問權(quán)限。
ConfigMap 引用可以被標(biāo)記為 “optional(可選的)”。如果所引用的 ConfigMap 不存在, 則所掛載的卷將會是空的。如果所引用的 ConfigMap 確實存在,但是所引用的主鍵不存在, 則在掛載點下對應(yīng)的路徑也會不存在。
當(dāng)某個已被掛載的 ConfigMap 被更新,所投射的內(nèi)容最終也會被更新。 對于 Pod 已經(jīng)啟動之后所引用的、可選的 ConfigMap 才出現(xiàn)的情形, 這一動態(tài)更新現(xiàn)象也是適用的。
?kubelet
?在每次周期性同步時都會檢查已掛載的 ConfigMap 是否是最新的。 但是,它使用其本地的基于 TTL 的緩存來獲取 ConfigMap 的當(dāng)前值。 因此,從更新 ConfigMap 到將新鍵映射到 Pod 的總延遲可能與 kubelet 同步周期(默認(rèn) 1 分鐘) + ConfigMap 在 kubelet 中緩存的 TTL (默認(rèn) 1 分鐘)一樣長。 你可以通過更新 Pod 的某個注解來觸發(fā)立即更新。
Note: 使用 ConfigMap 作為 subPath 的數(shù)據(jù)卷將不會收到 ConfigMap 更新。
ConfigMap API 資源將配置數(shù)據(jù)存儲為鍵值對。 數(shù)據(jù)可以在 Pod 中使用,也可以用來提供系統(tǒng)組件(如控制器)的配置。 ConfigMap 與 Secret 類似, 但是提供的是一種處理不含敏感信息的字符串的方法。 用戶和系統(tǒng)組件都可以在 ConfigMap 中存儲配置數(shù)據(jù)。
Note: ConfigMap 應(yīng)該引用屬性文件,而不是替換它們??梢詫?nbsp;ConfigMap 理解為類似于 Linux ?
/etc
? 目錄及其內(nèi)容的東西。例如,如果你基于 ConfigMap 創(chuàng)建 Kubernetes 卷,則 ConfigMap 中的每個數(shù)據(jù)項都由該數(shù)據(jù)卷中的某個獨立的文件表示。
ConfigMap 的 ?data
?字段包含配置數(shù)據(jù)。如下例所示,它可以簡單 (如用 ?--from-literal
? 的單個屬性定義)或復(fù)雜 (如用 ?--from-file
? 的配置文件或 JSON blob定義)。
apiVersion: v1
kind: ConfigMap
metadata:
creationTimestamp: 2016-02-18T19:14:38Z
name: example-config
namespace: default
data:
# 使用 --from-literal 定義的簡單屬性
example.property.1: hello
example.property.2: world
# 使用 --from-file 定義復(fù)雜屬性的例子
example.property.file: |-
property.1=value-1
property.2=value-2
property.3=value-3
envFrom
?來基于 ConfigMap 定義環(huán)境變量,那么無效的鍵將被忽略。 Pod 可以被啟動,但無效名稱將被記錄在事件日志中(?InvalidVariableNames
?)。 日志消息列出了每個被跳過的鍵。例如:kubectl get events
輸出與此類似:
LASTSEEN FIRSTSEEN COUNT NAME KIND SUBOBJECT TYPE REASON SOURCE MESSAGE
0s 0s 1 dapi-test-pod Pod Warning InvalidEnvironmentVariableNames {kubelet, 127.0.0.1} Keys [1badkey, 2alsobad] from the EnvFrom configMap default/myconfig were skipped since they are considered invalid environment variable names.
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: