ローカルに .env というファイル名でシークレット情報を保存しており、それを kubernetes に登録する時。
デプロイ時に下記スクリプトを開発環境で実行する。
# kubeconfig を設定
export KUBECONFIG=${HOME}/.kube/my-kube-config
# もし既に secret があったら削除する (次に行う登録のため)
kubectl -n mynamespace delete secret myapp-env
# ローカルの ../.env を secret に登録する
kubectl -n mynamespace create secret generic myapp-env --from-env-file=../.env
使う時
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp-deployment
namespace: mynamespace
spec:
replicas: 1
selector:
matchLabels:
app: myapp
template:
metadata:
labels:
app: myapp
spec:
containers:
- name: myapp
image: my-image:latest
imagePullPolicy: Always
ports:
- containerPort: 8008
env:
- name: DJANGO_SETTINGS_MODULE
value: myapp.settings.production
envFrom:
- secretRef:
name: myapp-env
コメント