configmapと秘密のK8S

1.configmap

  configmap二つの特別な秘密やストレージボリュームのある、それらはポッド収納スペースを提供するために使用されるが、ユーザーに管理者または提供されていない内部のポッドには、外部からの注入の情報を実施の形態。

configmap:物流センターでのコンフィギュレーション・ファイル、物流センターや、より多くのポッドの設定ファイルを読み込み、しかし、クリアテキストで構成情報configmap、とても安全でありません。

秘密:明確な.configmapの秘密に設定ファイルを保存しないようにする機能と同じようにconfigmapが、物流センターは、専用の名前空間に属しています。

#ConfigMapを作成するには、コマンドラインを使用し
--from nginx_port --from-リテラル= 80 = SERVER_NAME = myapp.lixiang.com =作成ConfigMapは、nginxの-config設定リテラルをkubectl 
kubectl DESCRIBEセンチのnginx-設定
#は方法のリストを作成ConfigMap 
ます。mkdir ConfigMap && CD ConfigMap 
CATのwww.confの
サーバー{ 
      サーバー名myapp.lixiang.com; 
      80を聞く; 
      ルート/データ/ウェブ/ HTML; 
} 

kubectl ConfigMap nginxのファイル・WWWを作成--- = www.confから
設定情報ConfigMapと#ENVの仕方ポッドに注入
CATポッド-configmap.yaml 
V1:apiVersion 
種類:ポッド
メタデータ:
  名前:。-POD 1-CM&LT 
  名前空間:デフォルト
  ラベル:
    アプリケーション:のMyApp 
    ティア:フロントエンドの 
仕様:
  コンテナ:
  -名前:myappの
    画像:ikubernetes / myappの:v1の
    ポート:
    -名前:HTTP 
      containerPort:80 
    ENV:
    -名前:NGINX_SERVER_PORT 
      valueFromおよびます。#kubectlがpods.spec.containers.env.valueFrom EXPLAIN 
        configMapKeyRefを:#はconfigmapへの参照を取得することを約束データの
          名前:nginxの-config設定#のconfigmap名の
          キー:kubectlによって#は、CMのnginx-config設定キーを記述するnginx_port 
    -名前:NGINX_SERVER_NAME 
      :valueFromおよび
        configMapKeyRef:
          名前:nginxのCONFIG- 
          キー:server_nameは

-f POD-configmap.yaml適用kubectl 
kubectl Execの1-POD-CM&LT ITの迅速- / binに/ SH  
#printenvは
NGINX_SERVER_PORT = 80 
NGINX_SERVER_NAME = myapp.lixiang.com 
#、ポッドにすぐに反映効果取るポッドを再起動する必要がない編集ファイル、アレンジ修飾configmap 
kubectl編集設定CM&LT nginxのの
ストレージボリュームと#1の方法は、ポッドconfigmapに注入されます
CAT-PODのconfigmap2.ymalの
apiVersion:V1 
種類:ポッド
メタデータ:
  名前:POD-2-CM&LT 
  名前空間:デフォルト
  ラベル:
    アプリケーション:のMyApp 
仕様:
  コンテナ:
  -名前:のMyApp 
    画像:ikubernetes / MyAppに:V1 
    ポート:
    -名前: HTTPの
      containerPort:80 
    volumeMounts:
    -名前:nginxconf 
      MOUNTPATH:/etc/nginx/conf.d/ 
      読み取り専用:trueに
  ボリューム:
  -名前:nginxconf 
  ボリューム: 
    configMap:
      名前:nginxの-config設定

kubectl -f POD-configmap2.ymal適用し
、キーと値のペアは、ファイル/etc/nginx/conf.d/の形で存在しているconfigmap参照、ポッドに#を
#ドキュメント注射www.confポッドへの
CATポッド-configmap3.yaml 
V1:apiVersion 
種類:ポッド
メタデータ:
  。名前:-POD 3-CM&LT 
  名前空間:デフォルト
  ラベル:
    アプリケーション:のMyApp 
仕様:
  コンテナ:
  -名前:のMyApp 
    画像:ikubernetes / MyAppに:V1 
    ポート:
    -名前:HTTP 
      containerPort:80 
    volumeMounts:
    -名前:nginxconf 
      MOUNTPATH:/etc/nginx/conf.d/ 
      読み取り専用:trueに
  -名前:nginxconf 
    configMap:
      名前:WWW-nginxのは、
-f POD-configmap3.yamlを適用kubectlは
Execの-CM&IT-PODを迅速化LT kubectl 3 - / binに/ SH。
/ CD#/etc/nginx/conf.d/ 
/etc/nginx/conf.d# LS 
www.conf 
/etc/nginx/conf.dのCAT#のwww.confの
サーバー{ 
      サーバー名myapp.lixiang.com; 
      80を聞く; 
      ルート/データ/ウェブ/ HTML; 
} 
#ポートを変更し、ポッドの設定ファイルも発生変更
kubectl編集センチのnginx-WWWを

2.secret

  秘密の機能と同じようにconfigmapが、明確ではないコンフィギュレーション・ファイルを格納するための秘密の物流センター、一般的なパスワードは、プライベートで秘密裏に書くことなど、データベースに接続します

秘密--helpを作成kubectl

ジェネリック:パスワードを保存します。

TLS:秘密鍵、証明書を保存します。

ドッキングウィンドウ-レジストリ:このタイプを使用し、そのような民間倉庫ドッキングウィンドウからミラーを引いたときのように、ドッキングウィンドウの認証情報を保存し、K8Sはミラーリングプロセスがkubletでドラッグします。

#imagePullSecretsは、ログインしてあなたが預金に民間の倉庫からミラーを引いた場合、認証情報は、
EXPLAIN kubectl pods.spec.imagePullSecretsが
kubectl作成シークレットドッカー-レジストリLXregsecret --docker-サーバー= registry.cn-hangzhou.aliyuncs.com \ 
--docker- = --docker-パスワード=ユーザー名XXXXXXメールで--docker-XX = XX 
LXregsecret:指定された秘密の名前、定義可能; -ドッキングウィンドウ-メール:メールアドレス(任意)
キーのみ対応する名前空間で使用することができ、ここではデフォルトであり、あなたは別の名前空間で使用する必要がある場合は、あなたが作成するときに、名前空間を指定する必要が
コンテナ:
-名前:チャンネルの
  画像:registry-internal.cn-hangzhou.aliyuncs.com/yin32167/channel:dev-1.0 
ポート:
- containerPort:8114 
imagePullSecrets:
-名前:LXregsecret 
#そうに作成しているようで、bash64は代表64トランスコーディングショーを-Woとラップしない
猫.docker / config.jsonを| base64で-w0
secret.yamlドッカー-CATの 
apiVersionを:V1
種類:秘密の
メタデータ:
  名前:registrypullsecret 
データ:
  .dockerconfigjson:暗号化文字列の
タイプ:kubernetes.io/dockerconfigjson 

#パスワード暗号化されたコンテンツは、BASE64の形態であろう
秘密のジェネリックのmysql-root-作成kubectlパスワードを--from パスワードは= 123456 = -literal 
kubectlルート秘密のパスワードはmysql- DESCRIBE 
kubectlにMySQLの-o YAMLルート-GET-秘密のパスワード
解読をbase64で#
エコーMTIzNDU2を| base64では、-d 

内部のenvマナーを通じてポッドに注入#秘密
猫をpod- 1.yaml-秘密
apiVersion:V1 
種類:ポッド
メタデータ:
  名前:POD-シークレット1 - 。
  名前空間:デフォルト
  ラベル:
    アプリケーション:のMyApp 
スペック:
  コンテナ: 
  -名前:MyAppを
    画像:ikubernetes / MyAppに:V1 
    ポート:
    -名前:HTTP 
      containerPort:80 
    ENV:
    -名前:MYSQL_ROOT_PASSWORD 
      valueFromおよびを:
        secretKeyRef:
          名前:MySQLのルートパスワードで
          キー:パスワード
-f POD-シークレット・1.yaml適用kubectl 
kubectl Execの-秘密ポッド1-ITは- 。/ binに/ SHの
#printenvのの
MYSQL_ROOT_PASSWORD = 123456 
秘密の実施形態はまた、ポッド注入をマウントするために使用することができます

 

参考ブログ:http://blog.itpub.net/28916011/viewspace-2214804/

kubernetesクラスタでnginxの+ MySQLの+ PHPのアプリケーションをデプロイします。https://blog.csdn.net/bbwangj/article/details/82954187

小さな教室をkubernetes:https://k.i4t.com/

 

おすすめ

転載: www.cnblogs.com/fawaikuangtu123/p/11295211.html