K8Sストレージ(ConfigMap使用)

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に# 


 

公開された60元の記事 ウォン称賛20 ビュー4607

おすすめ

転載: blog.csdn.net/zhaikaiyun/article/details/104475145