Skip to content

ConfigMap

Ejemplo de un ConfigMap:

---
apiVersion: v1
kind: ConfigMap
metadata:
  name: ejemplo-configmap
  namespace: default
  labels:
    app: mi-app
  annotations:
    descripcion: "ConfigMap de ejemplo con claves simples y ficheros"

# Forma 1: datos tipo clave/valor
data:
  region: "eu-west"
  api_url: "https://api.example.com"
  modo_debug: "true"

  # Forma 2: contenido de ficheros (cada clave será un fichero si se monta como volumen)
  app.conf: |-
    # Configuración de la aplicación
    log_level = INFO
    cache = true

  nginx.conf: |
    server {
      listen 80;
      server_name localhost;
      root /usr/share/nginx/html;
    }
---

Las claves simples (`region`, `api_url`, `modo_debug`) se pueden inyectar como variables de entorno con `env` o `envFrom`

Los bloques `app.conf` y `nginx.conf` se pueden montar como ficheros directamente usando volúmenes y `subPath`

Si montas el ConfigMap como volumen, cada clave se convierte en un fichero dentro del path

Usos de | y |-:

|Literal block scalar (mantiene los saltos de línea)

1
2
3
4
5
data:
  app.conf: |
    linea 1
    linea 2
    linea 3

Se interpreta como:

1
2
3
linea 1
linea 2
linea 3\n

|-Literal block scalar sin salto de línea final****

1
2
3
4
5
data:
  app.conf: |-
    linea 1
    linea 2
    linea 3

Se interpreta como:

1
2
3
linea 1
linea 2
linea 3