Kubernetes Pod に環境変数がうまく注入できているか試す際の YAML ファイル
Kubernetes 上の Pod (コンテナ) に対して環境変数を注入する、お試し Deployment を作ってみた。
ConfigMap や Secret を注入する valueFrom
の configMapKeyRef
や secretKeyRef
の書き方が毎回よく分からなくなるのと、「どんな Key Value を定義したっけ?」とかいうのを忘れがちなので、実際に Pod に注入して確認したらええやん、ということで。
生の Alpine イメージを使って、while true
コマンドで定期的に環境変数を標準出力するようにしてみた。
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-alpine-deployment-1
spec:
selector:
matchLabels:
app: my-alpine-label-1
replicas: 1
template:
metadata:
labels:
app: my-alpine-label-1
spec:
containers:
- name: my-alpine-container-1
image: alpine:3.2
command:
- /bin/sh
- '-c'
- 'echo "START : $(MY_ENV_NAME)" && while true; do echo "LOOP : $(MY_ENV_NAME)"; sleep 1m; done'
# 以下に環境変数を注入する定義を書く
env:
- name : MY_ENV_NAME
value: 'my env value'
こんな deployment.yaml
を作ったら
$ kubectl apply -f deployment.yaml
で流し込み、
$ kubectl get pods
で Pod 名を確認し、
$ kubectl logs my-alpine-deployment-1-XXXXX
# もしくは
$ k8stail
あたりで Pod が出力するログを確認してみれば、環境変数が正しく注入できているか確認できるだろう。