ConfigMapsは、アプリケーションの移植性のコンテナを保持するために、デカップリング部材との映像コンテンツを構成することができます。この記事ではconfigmapを作成し、どのように修正するconfigmap configmapはポッドを適用する方法を示しています。
作成configmap
YAMLファイルmyconfigmap.yamlの1.configmap、次のように読み込み、
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
2. configmapを作成し、以下のコマンドをすることができ
kubectl create -f myconfigmap.yaml
kubectl create configmap gameconfig --from-file=myconfigmap.yaml -n test
YAML設定ファイルは複数のConfigMapに同時に作成することができる正確ように、第1のコマンド、第2のコマンドをgameconfigが新たに作成されたConfigMapの名前であり、複数の値を含むConfigMapを作成することができ、テスト名前空間。通常の出力
configmap/gameconfig created
エラーならばError from server (NotFound): namespaces "test" not found
、あなたは、ドメイン名を作成する必要があります。
我々はkubectlと仮定する前に、次のように3チェックconfigmapは、-f myconfigmap.yaml作成configmapを作成し、結果を表示します
[root@k8s-master sj]# kubectl get configmap --all-namespaces
NAMESPACE NAME DATA AGE
default env-config 1 2s
default special-config 1 2s
[root@k8s-master sj]# kubectl describe configmap special-config
Name: special-config
Namespace: default
Labels: <none>
Annotations: <none>
Data
====
special.how:
----
very
Events: <none>
コンテナ環境変数で定義されたconfigmap値を使用します
環境変数を作成するには、コンテナ内の数値configmap
1.あなたはまた、次のコマンドを使用することができ、上記で定義されたような方法があることも、configmap値を定義します。
kubectl create configmap special-config --from-literal=special.how=very
2.ポッド仕様、環境変数SPECIAL_LEVEL_KEY
configmapによる値special.how
定義は、同じことが、環境変数configmap複数を定義する複数の値を複数で使用することができます。configmap-pod.yamlポッド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
その後、ポッドを作成:
kubectl create -f configmap-pod.yaml
今、ポッドは、その出力変数を含むすべての環境変数を開始SPECIAL_LEVEL_KEY=very
し、LOG_LEVEL=INFO