configmapで使用するK8S

  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_KEYconfigmapによる値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

おすすめ

転載: www.cnblogs.com/janeysj/p/11615463.html