Pourquoi des ConfigMaps ?
Les ConfigMaps separent la configuration du code de l'application, permettant de modifier la config sans rebuild de l'image.
Creer un ConfigMap
kubectl create configmap app-config --from-literal=DB_HOST=mysql --from-literal=DB_PORT=3306
ConfigMap YAML
apiVersion: v1
kind: ConfigMap
metadata:
name: app-config
data:
DB_HOST: mysql
DB_PORT: "3306"
app.properties: |
database.url=jdbc:mysql://mysql:3306/db
cache.enabled=true
Utiliser un ConfigMap comme variables d'environnement
spec:
containers:
- name: app
image: myapp
envFrom:
- configMapRef:
name: app-config
Monter un ConfigMap comme fichier
spec:
containers:
- name: app
image: myapp
volumeMounts:
- name: config
mountPath: /etc/config
volumes:
- name: config
configMap:
name: app-config
Bonne pratique : Ne stockez jamais de donnees sensibles (mots de passe, tokens) dans un ConfigMap. Utilisez des Secrets.