Kubernetes|各種マニフェストファイルの作成方法


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 件のコメント :

コメントを投稿