Kubernetes Patterns Immutable Configuration: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
 
(One intermediate revision by the same user not shown)
Line 5: Line 5:
* [[Kubernetes_Cluster_Configuration_Concepts#Immutable_Configuration|Kubernetes Configuration Concepts]]
* [[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.


<font color=darkkhaki>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>
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