K8Sストレージ(シークレット使用)

1、概要シークレット
シークレットは、機密情報の少量含ん例えば、パスワード、トークンまたはキーのオブジェクトです。その情報は秘密ではなく、定義やコンテナポッドに入れて、より安全で柔軟に反映されており、偶発暴露の危険性を減らすために。

2は、内蔵の秘密
自動的に作成して秘密添付するアカウントの資格情報を使用してサービスAPI
自動的に秘密のAPIを作成Kubernetesは、アクセス資格情報が含まれており、自動的に秘密のこのタイプを使用するようにポッドを変更します。
[ルート@テストをk8smaster]#kubectl POD GETは
NAMEのAGEはSTATUS READYに再起動
ボリューム-POD 1/1 0 47Mを実行し
、[ルートを@ k8smasterテスト]#kubectl Execの-itボリューム-POD - / binに/ bashのは
ルート@ボリューム-POD: / usr / local / Tomcatの#LS -lrt /run/secrets/kubernetes.io/serviceaccount/
合計0
lrwxrwxrwx 2月1日18のルート12である16時05トークンルートである- > ..data /トークン。
lrwxrwxrwx 2月16日のルート18は、ルートである1 16:。 05名前空間- > ..data /名前空間
lrwxrwxrwx 1つのルートルート13 2月18日午前16時05分ca.crt - > ..data / ca.crt
ルート@体積POD:は/ usr / local / Tomcatの# 

不透明な秘密の3は、手動で作成した
彼らはBase64でに変換する際に以下のように、秘密に保存されている2つの文字列を使用するために、データフィールドを:
[@ k8smasterルートテスト]#エコー-n「ADMIN」| Base64で
YWRtaW4 =
[ルートk8smasterテスト@]#エコー-N '1f2d1e2e67df' | Base64で
MWYyZDFlMmU2N2Rm
[ルート@テストをk8smaster]# 

[ルート@ k8smasterテスト]#以上mysecret.yanl  apiVersion:v1の種類:秘密のメタデータ:   名前:mysecretのタイプ:不透明データ:   のuname:YWRtaW4 =   パスワード:MWYyZDFlMmU2N2Rm [ルート@ k8smasterテスト]#は、-f mysecret.yanlの作成kubectl 秘密/ mysecret作成[k8smasterテスト@ルート]#kubectl GET秘密 NAME TYPE DATA AGE 基本認証不透明1 2d8h デフォルト・トークンvt7pl kubernetes.io/service-account-token 3 6d20h mysecret不透明2つの31S















TLS-秘密kubernetes.io/tls 2 2d8h
[k8smasterテスト@ルート]#は秘密mysecret説明kubectl
名:mysecret
名前空間:デフォルト
ラベル:<なし>
注釈:<なし>

タイプ:不透明

データ
====
パスワード:12バイト
のuname:3バイト
[k8smasterテスト@ルート]# 

4、创建ポッド
1)通过数据卷插件使用
[ルート@ k8smaster試験]#複数ENV-volume.yaml 
apiVersion:V1の
種類:ポッド
メタデータ:
  名:ボリュームポッド
仕様:
  コンテナ:
  -名前:ボリュームポッドCTN
    画像:192.168.23.100:5000/tomcat:v2
    volumeMounts:
    -名前:コンフィグボリューム
      MOUNTPATH:/ tmpに/ configに
      読み取り専用:真の
  ボリューム:
    -名前:コンフィグボリューム
      秘密:
        secretName:mysecret
  restartPolicy:決して
[k8smasterテスト@ルート]#-f作成kubectl ENVを-volume.yaml 
ポッド作成/ボリュームポッド
[ルート@ k8smasterテスト]#kubectl GETポッド
NAME READYステータスは、AGEの再起動
ボリュームポッドを1/1実行0 6S
[ルート@ k8smasterテスト]#kubectl幹部-itボリュームポッド/ binに/ bashのは
ルート@ボリュームポッド:#1 tomcatには/ usr / local / CDを/ tmp /設定/
体積ポッド@ルート:/ TMP /設定#LS -lrt
合計0
lrwxrwxrwx 1ルートルート12 2月18日午後05時15分のuname - > ..data /のuname
lrwxrwxrwx 1つのルートルート15 2月18日午後05時15分パスワード- > ..データ/パスワードの
ボリュームポッド@ルート:/ tmpに/ configに#より多くのuname 
管理
ボリュームポッド@ルート:/ tmpに/ configに#よりパスワード 
1f2d1e2e67dfの
ボリュームポッド@ルート:/ tmpに/ configに# 

2)通过环境变量使用
[k8smaster試験@ルート]#複数ENV-pod.yaml 
apiVersion:V1
種類:ポッド
メタデータ:
  名:ENV-ポッド
仕様:
  コンテナ:
  -名前:ENV-POD-CTNの
    画像:192.168.23.100: 5000 / tomcatに:v2の
    コマンド:[ "/ binに/ bashの"、 " - C"、 "ENV"]
    ENV:
    -名前:SECRET_NAME
      valueFromおよび:
        secretKeyRef:
          名前:mysecretの
          キー:のuname
    -名前:SECRET_PWD
      valueFromおよび:
        secretKeyRef:
          名: mysecretの
          キー:パスワード
  restartPolicy:決して
[k8smasterテスト@ルート]#-f ENV-pod.yaml作成kubectl 
作成ポッド/ ENV-ポッド
[k8smasterテスト@ルート]# kubectl GETポッド
NAME READYのステータスが再起動AGE
ENV-ポッド0/1完成した0 5S
[k8smasterテスト@ルート]# kubectlログenv-ポッド| grepのSECRET
SECRET_PWD = 1f2d1e2e67df
SECRET_NAME =管理者
[ルート@ k8smasterテスト]# 

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

おすすめ

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