Slide 5
Slide 5 text
k8sの標準的なシークレット管理機能
4
K8s secretリソース
• k8sではデータベースなどに接続する際のユーザ名やパスワードなどの機密情報を、アプリコンテナなどのPod
に環境変数やVolumeとして渡す際に利用するk8s secretリソース機能が提供されている
懸念点
• K8s secretリソースを生成するマニフェストファイル(例:secret.yml)は、base64でエンコードされている
が暗号化されている訳ではないのでマニフェストファイルをgithubなどにそのままpushするのはNG
apiVersion: v1
kind: Secret
metadata:
name: service01
namespace: default
data:
MYSQL_PASSWORD: YWJjZAo=
MYSQL_ROOT_PASSWORD: cm9vdDEyMzQ1Njc4Cg==
type: Opaque
例:secret.yml
「abcd」、「root12345678」の値がbase64でエンコードされて定義
“MYSQL_PASSWORD”: “abcd”,
"MYSQL_ROOT_PASSWORD": "root12345678"
service01
kubesec CLI
# kubectl apply -f secret.yml
push