Kubernetes Patterns Immutable Configuration

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

External

Internal

Overview

Immutable configuration means that an application's configuration cannot be changed after the application has started. This approach ensures that we always have a well-defined state for our configuration data. Immutable configuration can be placed under version control and follow a chance control process.

In Kubernetes, immutable configuration can be implemented using ConfigMaps and Secrets with the immutable flag set to "true".

In case configuration is so large that it does not fit into a ConfigMap (for example, a ML model can be handled as "configuration"), it can be released as a passive data image, which can be distributed as a regular container image. During runtime, the application and data image are linked together so the application can read its immutable configuration.

For more details, continue to process "Kubernetes Patterns, 2nd Edition by Bilgin Ibryam, Roland Huss, Chapter 21. Immutable Configuration" https://learning.oreilly.com/library/view/kubernetes-patterns-2nd/9781098131678/ch21.html#id112