Kubernetes import environment variables from a different .yml file

1/21/2019

Is it possible to import environment variables from a different .yml file into the deployment file. My container requires environment variables.

deployment.yml

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: api-deployment
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: api
    spec:
      containers:
      - name: api
        image: <removed>
        imagePullPolicy: Always
        env:
        - name: NODE_ENV
          value: "TEST"
        ports:
        - containerPort: 8080
      imagePullSecrets:
      - name: regcred

vars.yml

NODE_ENV: TEST

What i'd like is to declare my variables in a seperate file and simply import them into the deployment.

-- Kay
kubernetes

1 Answer

1/21/2019

What you describe sounds like a helm use case. If your deployment were part of a helm chart/template then you could have different values files (which are yaml) and inject the values from them into the template based on your parameters at install time. Helm is a common choice for helping to manage env-specific config.

But note that if you just want to inject an environment variable in your yaml rather than taking it from another yaml then a popular way to do that is envsubst.

-- Ryan Dawson
Source: StackOverflow