Cum să gestionezi configurarea cu ConfigMap în Kubernetes
DodaTech
Updated 2025-01-15
2 min read
In this tutorial, you'll learn about Cum să gestionezi configurarea cu ConfigMap în Kubernetes. We cover key concepts, practical examples, and best practices.
Problema
Ai aplicații care au nevoie de configurații diferite între medii (dev, staging, producție) și nu vrei să reconstruiești imaginea Docker pentru fiecare setare.
Soluția Pas cu Pas
1. Creează un ConfigMap din fișier
kubectl create configmap app-config --from-literal=APP_ENV=production --from-literal=LOG_LEVEL=info
Output:
configmap/app-config created
2. Creează un ConfigMap din YAML
apiVersion: v1
kind: ConfigMap
metadata:
name: app-config
data:
APP_ENV: production
LOG_LEVEL: info
config.json: |
{
"database": {
"host": "db.example.com",
"port": 5432
}
}
kubectl apply -f configmap.yaml
3. Montează ConfigMap ca variabile de mediu
apiVersion: v1
kind: Pod
metadata:
name: app-pod
spec:
containers:
- name: app
image: my-app:latest
envFrom:
- configMapRef:
name: app-config
4. Montează ConfigMap ca volum
spec:
containers:
- name: app
image: my-app:latest
volumeMounts:
- name: config-volume
mountPath: /etc/config
volumes:
- name: config-volume
configMap:
name: app-config
5. Verifică ConfigMap-ul
kubectl get configmap app-config -o yaml
6. Actualizează un ConfigMap
kubectl create configmap app-config --from-literal=LOG_LEVEL=debug --dry-run=client -o yaml | kubectl apply -f -
Prevenție
- Nu stoca date sensibile în ConfigMap. Folosește Secret pentru parole și chei.
- Actualizarea ConfigMap-ului nu re-pornește automat Pod-urile. Folosește un restart manual sau tool-uri ca Reloader.
- Folosește
immutable: truepentru ConfigMap-uri care nu se schimbă.
Greșeli Comune
- Date sensibile în ConfigMap — ConfigMap-urile nu sunt criptate. Folosește Secret.
- Modificare fără restart Pod — Pod-urile nu văd actualizările ConfigMap-ului decât după restart.
- Chei invalide — Variabilele de mediu trebuie să respecte regulile de denumire UNIX.
- ConfigMap lipsă — Pod-ul nu pornește dacă ConfigMap-ul referit nu există.
- Volum nemontat — ConfigMap-ul montat ca fișier suprascrie întregul director de montare.
Exercițiu
Creează un ConfigMap cu trei variabile de configurare, un Deployment care le citește ca variabile de mediu și verifică valorile cu kubectl exec.
FAQ
Construit de dezvoltatorii Doda Browser, DodaZIP și Durga Antivirus Pro. Uneltele DodaTech se integrează seamless cu Kubernetes pentru productivitate și securitate sporite.
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro