1、ConfigMapを紹介する
コンGMAPは、バージョンKubernetes1.2で導入された機能、アプリケーション構成ファイル、コマンドラインパラメータまたは環境変数からの多くは、構成情報を読み取ります。コンGMAP APIは、コンテナに設定情報を注入するための仕組みを提供してくれ、
コンGMAP Fiは単一の属性を保持するために使用することができますが、全体の構成ファイルまたはJSONブロブを保存するために使用することができます。
GMAPが作成した2、コン
ConfigMapプロファイルは、イメージファイルを分離することができますので、アプリケーションの移植性のコンテナ。使用して、ConfigMapを作成するためにconfigmapまたはConfigMapジェネレータを作成kubectl。
configmapを作成kubectl <マップ名>
<データソース> <マップ名> ConfigMap、<データソース>に割り当てられた名前であり、ディレクトリデータは、値文書またはテキストを抽出することです。
キー値に対応するConfigMapソースデータ(キーと値のペア)
の行またはキーで、キー=コマンド・ファイル名
、コマンドライン上の値=値文書またはテキスト・コンテンツ利用可能
kubectlを使用してはkubectl GET記述またはConfigMapに関する情報を取得します。
1)ディレクトリConfigMapザ作成
[@ k8smasterルートテスト]#のPWD
/ルート/試験
[試験ルートk8smaster @] LS#-lrt
。合計8
-rw-R&LT - 2月18日にr--の1ルート12がルートzimu夜05時36分です。プロパティ
-rw-R&LT - r--ので2月38は、ルート18がルートである1夜5時37 kemu.properties。
[@ k8smasterルート試験]よりzimu.properties#
A. 1 =
2 = B
C = 3
[試験k8smasterルート@]よりkemu.properties#
kemu1 = shuxue
kemu2 =宇文
kemu3 = Yingyu
[@ k8smasterルート試験]#
[@ k8smasterルートテスト]#作成kubectlファイル・ConfigMap MULU --from =すべてのファイル/からのファイルのルート/テスト#はディレクトリに指定されているが、キーと値のペアを作成するために、コンGMAPの内部で使用される、キーの名前がファイル名で、値はファイルの内容である
ConfigMap / MULU作成
#[k8smasterテスト@ルート] GET ConfigMap kubectl
AGEの名前データ
MULU 2 16S
[@ k8smasterルートは試験]#ConfigMap MULUにDESCRIBE kubectl
名:MULU
名前空間:デフォルト
ラベル:<なし>
注釈:<なし>
データ
====
kemu.properties:
----
kemu1 = shuxue
kemu2 =宇文
kemu3 = yingyu
zimu.properties:
----
A = 1
、B = 2
、C = 3つの
イベント:<なし>
[k8smaster試験@ルート]#
2)ファイルに基づいてConfigMapを作成
#[k8smasterテスト@ルート] kubectl ConfigMap Wenjian --from作成し、ファイル= /ルート/テスト/ zimu.properties番号から、ファイルのパラメータを複数回使用することができ、効果が全体ディレクトリ指定ちょうど同じです
ConfigMap / Wenjian作成し
ます。[root @ k8smasterテスト]#kubectl GET ConfigMap
NAME AGEのデータ
MULU 2 12メートル
Wenjian 1 9S。
[ルート@ k8smasterテスト] ConfigMap Wenjian DESCRIBE kubectl#
名:Wenjian
名前空間:デフォルトの
ラベルを:<なし>
注釈:<なし>
データ
====
zimu.properties:
----
A. 1 =
B 2 =
。C = 3つの
イベント:<なし>
[@ k8smasterルート試験]#
3)文字の値に基づいてConfigMapを作成し
、--fromリテラルとコマンド行で定義されたリテラル値をconfigmapパラメータを作成kubectl
[ルートk8smasterテスト@]#はconfigmap canshu --fromリテラル作成kubectl。1 = A = --from-リテラル= B = 2#from-リテラル引数設定情報を渡し、パラメータは複数回使用することができる
ConfigMap / canshu作成
[@ k8smasterルート試験] GET#kubectl ConfigMap
NAME AGEのデータが
2 9S canshu
16メートル2 MULUを
Wenjian。1 4m36s
[ルート@ k8smasterテスト]#はConfigMap canshu DESCRIBE kubectl
名:canshu
名前空間:デフォルトの
ラベルを:<なし>
注釈:<なし>
データ
====
A:
----
1件の
B:
----
2つの
イベント:<なし>
[k8smaster試験@ルート]#
3、ポッド的创建
1)使用コンGMAP来替代环境变量
[ルート@ k8smasterテスト]#以上env.yaml
apiVersion:v1の
種類:ConfigMap
メタデータ:
名前:ENV-名の
データ:
env.name:JAVAHOME
env.typeます。java
[ k8smasterテスト@ルート]#は、-f env.yaml作成kubectl
作成configmap / ENV-名を
[k8smasterテスト@ルート]#kubectl GET configmap -o YAML
apiVersion:V1の
項目:
- apiVersion:V1の
データ:
env.name:JAVAHOME
ENVを。タイプ:Javaの
種類:ConfigMap
メタデータ:
creationTimestamp: "2020-02-18T14:20:59Z"
名:ENV-名の
名前空間:デフォルト
resourceVersion: "708005"
selfLink:/ API / V1 /ネーム/デフォルト/ configmaps / ENV-名
はuid:e7921366-ef80-4399-9758-349861e55118
リスト:一種
のメタデータ:
resourceVersion: ""
selfLink: ""
[ルート@ k8smasterテスト]#
k8smasterテスト@ [ルート]#kubectl GETポッド
NAME READYのステータスが再起動AGEの
ENV-ポッド0/1完成した0 80年代
[k8smasterテスト@ルート]#
[k8smasterテスト@ルート]#以上のenv-pod.yaml
apiVersion:V1の
種類:ポッドの
メタデータ:
名前:ENV-ポッド
仕様:
コンテナ:
-名前:ENV-ポッド-CTNの
画像:192.168.23.100:5000/tomcat:v2
コマンド:[ "/ binに/ bashの"、 " - C"、 "ENV"]
ENV:
-名:JAVA_HOME
valueFromおよび:
configMapKeyRef:
名前:ENV-名の
キー:env.name
-名前:java_typeが
valueFromおよび:
configMapKeyRef:
名前:ENV -name
キー:env.type
restartPolicy:決して
[k8smasterテスト@ルート]#は-f ENV-pod.yaml作成kubectl
作成ポッド/ ENV-ポッド
[k8smasterテスト@ルート]#kubectlログENV-ポッド| grepをjavaの
JAVA_HOME = JAVAHOME
java_typeが= javaの
[ルート@ k8smasterテスト]#
2)通过数据卷插件使用コンGMAP
[ルート@ k8smasterテスト]#以上env.yaml
apiVersion:v1の
種類:ConfigMap
メタデータ:
名前:ENV-名の
データ:
env.name:JAVAHOME
env.type:javaの
[ルート@ k8smasterテスト] #よりENV-volume.yaml
apiVersion:v1の
種類:ポッド
メタデータ:
名前:ボリュームポッド
仕様:
コンテナ:
-名前:ボリュームポッド-CTN
画像:192.168.23.100:5000/tomcat:v2
volumeMounts:
-名前:CONFIG-ボリューム
MOUNTPATH:/ tmpに/ configに
ボリューム:
-名前:コンフィグボリューム
configMap:
名前:ENV-名
restartPolicy:決して
[k8smasterテスト@ルート]#-f ENV-volume.yamlの作成kubectl
作成ポッド/ボリュームポッドを
[k8smasterテスト@ルート]#kubectl GETポッド
NAME READYのステータスが再起動AGEの
ボリュームポッド1/1は0 8Sを実行しています
[ルート@ k8smasterテスト]#kubectl幹部-itボリュームポッド- / binに/ bashのは
ルート@ボリュームポッドます。#cd / tmpに/ configに/ tomcatには/ usr / local /
ルート@ボリュームポッド:/ tmpに/ configに#lsの-lrt
合計0
lrwxrwxrwx 1ルートルート15 2月18日16時05 env.type - > ..data / env.type
lrwxrwxrwx 1ルートルート15 2月18日16時05 env.name - > ..data / env.name
ルート@ボリュームポッド:/ tmpに/ configに#よりenv.name
JAVAHOME
ボリューム・ポッド@ルート:/ tmpに/ configに#よりenv.type
javaの
ルート@ボリュームポッド:/ tmpに/ configに#
3)修改コンGMAP
[ルート@ k8smasterテスト]#の kubectl編集configmapのENV-名
configmap、編集/ ENV-名
[ルート@ k8smasterテスト]# kubectl幹部-itボリュームポッド- / binに/ bashのは
ルート@ボリュームポッド:/ TMP /設定#PWD
/ TMP /設定
ルート@ボリューム-POD:/ TMP /設定#の LSは-lrt
合計0
lrwxrwxrwx 1ルートルート15 02月18日16:05 env.type - > ..data / env.type
lrwxrwxrwx 1つのルートルート15 2月18日夜04時05分env.name - > ..data / env.name
ルートボリュームポッド@:/ tmpに/ configに#よりenv.typeの
java1の
ボリュームポッド@ルート:/ tmpに/ configに#よりenv.name
javahome1
ボリュームポッド@ルート:/ tmpに/ configに#