Kubernetes の各種マニフェストファイルの作成について方法する。
Secret マニフェストファイル
ここでは、Secret リソースを作成するための Secret マニフェストファイルのサンプルを作成する。
Secret リソースには、一つの Secret の中に複数の Key-Value 値を保存できる。また、一つの Secret の格納可能なデータサイズサイズは、合計 1 MB である。
サンプルで、Secret 名は「sample-db-auth」、ネームスペースは「snamespace」とする。
通常のユーザ名、パスワードといった認証情報などは、一般的なスキーマレスで定義可能な「type: Opaque」を指定する。
Key-Value 値の Value は、base64 でエンコードした値をマニフェストファイルに記述する。
・サンプル
sample-secret.yaml
apiVersion: v1 kind: Secret metadata: name: sample-db-auth namespace: snamespace type: Opaque data: dbname: c2RibmFtZQ== #sdbname username: c3VzZXJuYW1l #susername password: c3Bhc3N3b3Jk #spassword port: MDAw #000
Key-Value 値の Value を base64 でエンコードした値をマニフェストファイルに記述したくない場合、下記のように、data ではなく、stringData フィールドで指定することで、平文で記述することができる。
・サンプル
sample-secret.yaml
apiVersion: v1 kind: Secret metadata: name: sample-db-auth namespace: snamespace type: Opaque stringData: dbname: sdbname username: susername password: spassword port: 000
作成した Secret をコンテナから利用するためには、
環境変数としてわたす、または、Volume としてマウントする必要がある。
コンテナに作成した Secret を環境変数でわたす場合は、下記のような Pod マニフェストファイルを作成する。secretRef.name に Secret 名を指定する。また、この場合、Pod 起動した後は、Pod 起動時に環境変数が決まってしまうため、動的な更新はできない。
・サンプル
apiversion: v1 kind: Pod metadata: name: sample-pod spec: containers: - name: sample-container image: ...省略... envFrom: - secretRef: name: sample-db-auth
スポンサーリンク
0 件のコメント :
コメントを投稿