Understanding Environment Variables
TOC
Overview
Environment variables in Kubernetes are key-value pairs that provide configuration data to containers at runtime. They offer a flexible and secure way to inject configuration information, secrets, and runtime parameters into your applications without modifying container images or application code.
Core Concepts
What are Environment Variables?
Environment variables are:
- Key-value pairs available to processes running inside containers
- Runtime configuration mechanism that doesn't require image rebuilds
- Standard way to pass configuration data to applications
- Accessible through standard operating system APIs in any programming language
Environment Variable Sources in Kubernetes
Kubernetes supports multiple sources for environment variables:
Environment Variable Precedence
Environment variables override configuration in this order:
- Kubernetes env (highest priority)
- Referenced ConfigMaps/Secrets
- Dockerfile ENV instructions
- Application default values (lowest priority)
Use Cases and Scenarios
1. Application Configuration
Basic application settings:
2. Database Configuration
Database connection settings using ConfigMaps and Secrets:
3. Dynamic Runtime Information
Access Pod and Node metadata:
4. Environment-Specific Configuration
Different configurations for different environments: