Saltar al contenido principal

⚙️ 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.

aviso

ConfigMap es para datos no sensibles. Para contraseñas, tokens y claves, use Secrets.

info

Los ConfigMaps se crean con kubectl. El Panel Nuvion no tiene una pantalla para este recurso.


🚀 Antes de comenzar​

🚀 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.

aviso

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íntomaCausaSolución
Pod con CreateContainerConfigErrorEl ConfigMap citado no existeVerifique el nombre con kubectl get configmap
Valor antiguo en el podLa variable de entorno no se recargaElimine y recree el pod
configmap already existsNombre ya usadoUse 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!