Kubernetes Patterns Immutable Configuration: Difference between revisions
No edit summary |
|||
(5 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
=Internal= | =Internal= | ||
* [[Kubernetes_Patterns#Immutable_Configuration|Kubernetes Patterns]] | * [[Kubernetes_Patterns#Immutable_Configuration|Kubernetes Patterns]] | ||
* [[Kubernetes_Cluster_Configuration_Concepts#Immutable_Configuration|Kubernetes Configuration Concepts]] | |||
=Overview= | =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 [[Kubernetes_Cluster_Configuration_Concepts#Immutable_ConfigMaps|ConfigMaps]] and [[Kubernetes_Cluster_Configuration_Concepts#Immutable_Secrets|Secrets]] with the <code>immutable</code> 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. | |||
<font color=darkkhaki>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</font> |
Latest revision as of 21:26, 28 February 2024
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