Tasks

Step-by-step instructions for performing operations with Kuberentes.

Edit This Page

Defining Environment Variables for a Container

This page shows how to define environment variables when you run a container in a Kubernetes Pod.

Before you begin

You need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. If you do not already have a cluster, you can create one by using Minikube.

Defining an environment variable for a container

When you create a Pod, you can set environment variables for the containers that run in the Pod. To set environment variables, include the env field in the configuration file.

In this exercise, you create a Pod that runs one container. The configuration file for the Pod defines an environment variable with name DEMO_GREETING and value "Hello from the environment". Here is the configuration file for the Pod:

envars.yaml
apiVersion: v1
kind: Pod
metadata:
  name: envar-demo
  labels:
    purpose: demonstrate-envars
spec:
  containers:
  - name: envar-demo-container
    image: gcr.io/google-samples/node-hello:1.0
    env:
    - name: DEMO_GREETING
      value: "Hello from the environment"
  1. Create a Pod based on the YAML configuration file:

     kubectl create -f http://k8s.io/docs/tasks/configure-pod-container/envars.yaml
    
  2. List the running Pods:

     kubectl get pods
    

    The output is similar to this:

     NAME            READY     STATUS    RESTARTS   AGE
     envar-demo      1/1       Running   0          9s
    
  3. Get a shell to the container running in your Pod:

     kubectl exec -it envar-demo -- /bin/bash
    
  4. In your shell, run the printenv command to list the environment variables.

     root@envar-demo:/# printenv
    

    The output is similar to this:

     NODE_VERSION=4.4.2
     EXAMPLE_SERVICE_PORT_8080_TCP_ADDR=10.3.245.237
     HOSTNAME=envar-demo
     ...
     DEMO_GREETING=Hello from the environment
    
  5. To exit the shell, enter exit.

What’s next

Analytics Create an Issue Edit this Page