Configuring Applications in AKS

Azure Compute Solutions

Florin Angelescu

Azure Cloud Architect

Configuring applications in AKS

 

Configuration

 

  • Configuration changes frequently.
  • Connection strings, feature flags, and environment values vary between:

    • Development
    • Testing
    • Production
  • Rebuilding container images is inefficient and error-prone.

Azure Compute Solutions

Configuring applications in AKS

 

Code

 

 

  • Separate application code from configuration.
  • Allows to update behavior without redeploying images.
Azure Compute Solutions

Environment variables

 

Configuration

 

 

Configure applications in Kubernetes:

  • Environment variables
Azure Compute Solutions

Environment variables

 

Configuration

 

 

Configure applications in Kubernetes:

  • Environment variables
  • Injected into containers when pods start
  • Accessible to the running application
Azure Compute Solutions

Environment variables

 

Configuration

 

 

Environment variables used for:

  • Environment names
  • Logging levels
  • External service URLs
Azure Compute Solutions

ConfigMaps

ConfigMaps

  • Kubernetes resource that stores non-sensitive configuration data:
    • URLs
    • Feature flags
    • Small settings files
Azure Compute Solutions

ConfigMaps

ConfigMaps

ConfigMap

  • Key-value pairs
  • Small files
Azure Compute Solutions

ConfigMaps

ConfigMaps

  • Application can then read values as:
    • Environment variables
    • Files mounted inside the container
Azure Compute Solutions

ConfigMaps

ConfigMaps

You can change configuration without rebuilding or redeploying your container image.

Azure Compute Solutions

ConfigMaps

 

ConfigMaps

 

 

 

  • Shared across multiple applications.
  • Helps maintain consistency in larger systems.
Azure Compute Solutions

Secrets

 

 

ConfigMaps

 

Secrets

  • Similar to ConfigMaps:

    • Designed for sensitive data
    • Passwords
    • API keys
    • Database connection strings
  • Secrets are stored more securely within the cluster.

Azure Compute Solutions

Secrets

 

 

ConfigMaps

 

  • Referenced by pods as:

    • Environment variables
    • Files
  • Sensitive data is not:

    • Baked into container images
    • Visible in source code
  • Allow applications to access what they need securely.

Azure Compute Solutions

Updating configuration

 

 

ConfigMaps

 

  • Separating configuration from container images:

    • Update ConfigMaps and Secrets independently of your application code
  • Kubernetes automatically provides the updated configuration to new pods.

  • Predictable rolling out changes.

  • Reduces the risk of introducing errors in production environments.
Azure Compute Solutions

Recap

Code

  • Clear separation between container images and configuration.
  • Using environment variables, ConfigMaps, and Secrets.
  • Adapt applications across environments without rebuilding images.
Azure Compute Solutions

Let's practice!

Azure Compute Solutions

Preparing Video For Download...