Kubernetes Patterns Environment Variable-Based Configuration: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 13: Line 13:
* As [[Dockerfile#Env_Override|command line override]] when running the container.
* As [[Dockerfile#Env_Override|command line override]] when running the container.
* As hardcoded environment variable values in Kubernetes Pod manifest files with <code>[[Kubernetes_Pod_Manifest#env|spec.containers[*].env]]</code>, or their corresponding representation in Deployment or ReplicaSet manifest files.
* As hardcoded environment variable values in Kubernetes Pod manifest files with <code>[[Kubernetes_Pod_Manifest#env|spec.containers[*].env]]</code>, or their corresponding representation in Deployment or ReplicaSet manifest files.
* As environment variable values projected into pods by [[Kubernetes_Cluster_Configuration_Concepts#As_Environment_Variables|ConfigMaps]] and [[Secrets]].
* As environment variable values projected into pods by [[Kubernetes_Cluster_Configuration_Concepts#As_Environment_Variables|ConfigMaps]] and [[Kubernetes_Cluster_Configuration_Concepts#Secrets_Projected_as_Environment_Variables|Secrets]].

Revision as of 19:01, 28 February 2024

External

Internal

Overview

Environment variables are universally supported and suited for configuration values that are small in size. Every operating systems allows definition of environment variable, and every programming language allows easy access to these environment variables.

As long as the application is coded to expect configuration as environment variables, the actual values of those environment variables can be provided in different layers: