Вы можете использовать переменные окружения в deployment.yaml
apiVersion: v1
kind: Pod
metadata:
name: my_app
labels:
app: my_app
spec:
containers:
- name: my_app
image: docker:5000/path_to_my_custom_image
env:
- name: SPECIAL_ARG_VAL
value: "my_special_argument_val_for_my_app"
args: ["$(SPECIAL_ARG_VAL)"]
Также вы можете загрузить значение для переменных окружения, используя Secrets или Configmaps.
Здесь пример загрузки значения из configmap
apiVersion: v1
kind: Pod
metadata:
name: my_app
labels:
app: my_app
spec:
containers:
- name: my_app
image: docker:5000/path_to_my_custom_image
env:
- name: SPECIAL_ARG_VAL
valueFrom:
configMapKeyRef:
name: special-config
key: SPECIAL_VAL_KEY
args: ["$(SPECIAL_ARG_VAL)"]
Вы можете создать конфигурационную карту, используя kubectl
, как показано ниже, но рекомендуем иметь отдельный файл yaml.
kubectl create configmap special-config --from-literal=SPECIAL_VAL_KEY=my_special_argument_val_for_my_app
Вы можете даже удалите args
из вышеупомянутого pod yaml, если в образе Dockerfile для изображения была указана та же переменная среды.