Come discover what options Kubernetes allows in terms of configuration management!
Docker images are supposed to (and should be) immutable. Given that the same image should be promoted from the development environment to the production environment, it needs to be parameterized in each environment.
Kubernetes provides different ways to do that. On the other, the Spring Boot platform allows a wide range of configuration options. In this talk, I’ll go through (and demo!) what common options are available, and what pro(s)/con(s) each of them have.
2. @nicolas_frankel
• Developer, team lead, architect,
whatever it takes
• Recently Developer Advocate
• DevOps believer
• Curious about Kubernetes
Me, myself and I
3. @nicolas_frankel
Hazelcast
HAZELCAST IMDG is an operational,
in-memory, distributed computing
platform that manages data using
in-memory storage, and performs
parallel execution for breakthrough
application speed and scale.
HAZELCAST JET is the ultra fast,
application embeddable, 3rd
generation stream processing
engine for low latency batch
and stream processing.
4. @nicolas_frankel
Configuration management
“Configuration management (CM) is a systems
engineering process for establishing and
maintaining consistency of a product's
performance, functional, and physical
attributes with its requirements, design, and
operational information throughout its life.”
-- https://en.wikipedia.org/wiki/Configuration_management
9. @nicolas_frankel
• Property in YAML file
• Accessed via
• Environment injection
• Value injection
• Configuration injection
Spring configuration 101
10. @nicolas_frankel
• Configuration file inside the JAR
• application-xxx.properties
• Activated by adding a command-
line option
• --spring.profiles.active=xxx
Spring profiles 101
12. @nicolas_frankel
• Add args
• Override command-line
• Set environment variables
• Use environment from ConfigMap
• Mount volumes
• Query API server
Summary