⚙️ Configuración (ConfigMap)
Una aplicación suele necesitar ajustes: idioma, modo de ejecución, dirección de otro servicio. El ConfigMap guarda esas configuraciones fuera de la aplicación, como un "archivo de configuraciones" separado del programa. Así usted cambia un valor sin rehacer la imagen del contenedor.
ConfigMap es para datos no sensibles. Para contraseñas, tokens y claves, use Secrets.
Los ConfigMaps se crean con kubectl. El Panel Nuvion no tiene una pantalla para este recurso.
🚀 Antes de comenzar
- Tener el acceso al clúster configurado (vea Acceso al Clúster).
🚀 1. Crear un ConfigMap
kubectl create configmap app-config --from-literal=APP_MODE=producao --from-literal=APP_IDIOMA=pt-BR
Salida esperada: configmap/app-config created
🚀 2. Verificar el ConfigMap
kubectl get configmap app-config
kubectl describe configmap app-config
El describe muestra las claves (APP_MODE, APP_IDIOMA) y sus valores.
🚀 3. Usar el ConfigMap como variables de entorno
Cree el archivo pod-config.yaml:
apiVersion: v1
kind: Pod
metadata:
name: pod-config
spec:
containers:
- name: app
image: busybox
command: ["sh", "-c", "echo Modo: $APP_MODE; echo Idioma: $APP_IDIOMA; sleep 3600"]
envFrom:
- configMapRef:
name: app-config
Aplique y vea el resultado:
kubectl apply -f pod-config.yaml
kubectl logs pod-config
Salida esperada:
Modo: producao
Idioma: pt-BR
🚀 4. Usar el ConfigMap como archivo
Algunas aplicaciones leen un archivo de configuración. Cree un archivo local
llamado app.properties con este contenido:
cor=azul
logo=ativo
Cree el ConfigMap a partir del archivo:
kubectl create configmap app-file --from-file=app.properties
Cree el archivo pod-config-arquivo.yaml, que monta el ConfigMap en la carpeta /config:
apiVersion: v1
kind: Pod
metadata:
name: pod-config-arquivo
spec:
containers:
- name: app
image: busybox
command: ["sh", "-c", "sleep 3600"]
volumeMounts:
- name: config
mountPath: /config
volumes:
- name: config
configMap:
name: app-file
kubectl apply -f pod-config-arquivo.yaml
kubectl exec pod-config-arquivo -- cat /config/app.properties
🚀 5. Cambiar un valor
kubectl edit configmap app-config
Cambie el valor deseado, guarde y cierre el editor.
Las variables de entorno solo cambian cuando el pod es recreado. En cambio, los archivos montados se actualizan solos, con unos segundos de retraso.
✅ Cómo saber si funcionó
Los logs del paso 3 muestran los valores que definió, y el cat del paso 4
muestra el contenido del archivo.
❗ Problemas comunes
| Síntoma | Causa | Solución |
|---|---|---|
Pod con CreateContainerConfigError | El ConfigMap citado no existe | Verifique el nombre con kubectl get configmap |
| Valor antiguo en el pod | La variable de entorno no se recarga | Elimine y recree el pod |
configmap already exists | Nombre ya usado | Use otro nombre o elimine el existente |
🧹 Limpieza
kubectl delete pod pod-config pod-config-arquivo
kubectl delete configmap app-config app-file
➡️ Próximo paso: Secrets
🧠 ¿Dudas?
¡Hable con nuestro equipo de soporte técnico de SaveinCloud!