Saltar a contenido

Namespaces y cuotas

Pestaña Ajustes → Namespaces — la creación y eliminación están reservadas a los administradores de plataforma.

Ajustes — Namespaces

Un namespace es un espacio de trabajo aislado: sus aplicaciones, volúmenes y buckets están separados de los de otros namespaces, y tiene sus propias cuotas y permisos.

Crear un namespace

Nuevo namespace (desde la cabecera del panel de control o la pestaña Namespaces) → nombre (letras minúsculas y dígitos), descripción, y cuotas:

Cuota Lo que limita
CPU requests / limits La suma de las reservas y los topes de CPU de los pods
Memoria requests / limits Lo mismo para la memoria
Pods El número de pods simultáneos
Almacenamiento La suma de las capacidades de los volúmenes persistentes

Los valores predeterminados de la plataforma se precargan y son ajustables en el momento de la creación. CPU, memoria y almacenamiento se introducen como número entero + unidad (m/núcleos, Mi/Gi/Ti), el número de pods como entero.

Una casilla Aislar el namespace en la red (marcada por defecto) aplica de inmediato la política de red deny-all descrita más abajo — desmárquela para crear un namespace abierto; el aislamiento se puede activar en cualquier momento posterior desde la pestaña Namespaces.

Seguir y ajustar las cuotas

  • El indicador de cuota del panel de control muestra continuamente el consumo del namespace actual.
  • En la pestaña Namespaces, el botón Cuotas de cada fila permite ajustar los topes de un namespace existente.
  • Al seleccionar varios namespaces, la edición se aplica en bloque a toda la selección.

Tip

Un despliegue rechazado por exceeded quota indica la cuota en cuestión y los valores solicitados/usados/tope — con eso puede decidir entre liberar recursos o aumentar la cuota.

Permisos de un namespace

El botón Permisos de una fila otorga a un usuario un rol (viewer, operator, admin) en ese namespace — véase Acceso y permisos.

Aislamiento de red

El botón Red de una fila abre el aislamiento de red del namespace — deny-all por defecto una vez activado: ya no se permite ningún tráfico entrante ni saliente salvo las reglas declaradas a continuación (y algunos flujos técnicos siempre necesarios: DNS, acceso al Gateway para las HTTPRoute, etc.).

Aislamiento de red

  • Activar / desactivar el aislamiento: alterna el namespace entre abierto (comportamiento histórico) y aislado. Las reglas declaradas siguen visibles y editables incluso desactivadas, simplemente sin efecto mientras el aislamiento no esté reactivado.
  • Conexiones salientes (internet): casilla marcada por defecto, que permite a las aplicaciones del namespace alcanzar el exterior del clúster — descarga de paquetes, llamadas a API de terceros. Sin marcar, solo quedan los flujos técnicos (DNS, API de Kubernetes, Forgejo, Keycloak) y las reglas declaradas. El aislamiento cubre por tanto el tráfico entre namespaces, no el acceso a internet.
  • Edición masiva: marque varios namespaces en la lista y haga clic en Red en la barra de herramientas para activar o desactivar el aislamiento, o permitir o cortar las conexiones salientes, en toda la selección a la vez. Los namespaces sin nada que cambiar (ya en el estado solicitado, o no aislados para las conexiones salientes) se omiten y se listan al final.
  • Reglas de acceso: autoriza a un namespace (y opcionalmente a una app concreta de ese namespace) a alcanzar este namespace en un puerto dado — útil por ejemplo para una replicación entre namespaces o un acceso aplicativo legítimo entre namespaces.
  • Puertos expuestos: expone un Service de este namespace en un puerto TCP público a través del Gateway compartido, para un acceso desde fuera del clúster. Cada puerto puede restringirse a una lista de direcciones IP autorizadas (IP o rangos CIDR, rellenada con su dirección actual al crearlo, modificable después con el icono de filtro): un origen fuera de la lista es rechazado por el proxy antes de llegar a la aplicación. Si se deja vacía, se acepta cualquier dirección que el cortafuegos externo deje pasar. Una base de datos PostgreSQL se expone mejor desde su propia tarjeta (botón Acceso externo), que elige el puerto y exige TLS — véase Administración PostgreSQL.

Note

Solo los namespaces creados después de la introducción de esta funcionalidad pueden aislarse — y entre ellos, el aislamiento solo es efectivo desde la creación si se marcó la casilla correspondiente (véase más arriba). Un namespace no aislado (más antiguo, o creado sin marcar la casilla) muestra «no aislado»: las reglas declaradas no tienen entonces ningún efecto en el clúster hasta que se active el aislamiento.

Warning

Exponer un puerto (pestaña Puertos expuestos) también requiere el forward correspondiente del lado de la infraestructura, en un posible cortafuegos aguas arriba — no automatizado desde esta interfaz.

Eliminar un namespace

Eliminación con confirmación — destruye todo el contenido del namespace (aplicaciones, volúmenes, buckets). Irreversible.