.envを直接読み込むことはできない
Kubernetesのコンテナ環境変数は、直接.envファイルから読み込むことはできないらしいです。しかし、ConfigMapやSecretリソースを使って.envファイルの内容をKubernetes環境にインポートし、それをPodの環境変数として利用することは可能です。
.envをConfigMapに変換する
.envファイルをConfigMapに変換するには、以下のようにkubectl
コマンドを使うことができます。
kubectl create configmap my-config --from-env-file=.env
このコマンドでConfigMap名my-config
が作成され、.envファイルの各行がキー・値となります。
そして、このConfigMapをPodで使うことで、環境変数として.envファイルの値を利用することができます。以下はPodの設定例です:
pods.yaml
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
containers:
- name: my-container
image: my-image
envFrom: # ConfigMapを環境変数としてimportする
- configMapRef:
name: my-config # 先程作成したConfigMap名を指定
このように設定することで、Pod内のアプリケーションは.envファイルの各行を環境変数として参照することができます。ただし、機密情報を含む場合にはSecretリソースの使用を検討するなど、セキュリティ対策にも注意が必要です。