¿Qué es kubernetes namespace? Te lo explicamos

| Última modificación: 25 de octubre de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Optimizar la manera en que distribuyes los recursos entre tus equipos es una tarea que perfectamente puedes llevar a cabo con kubernetes namespace. Una característica ingeniosa de Kubernetes que actúa como un divisor virtual de recursos dentro de un clúster físico. De modo que, si estás trabajando en un ambiente donde la colaboración y la organización son claves, entender y utilizar namespaces será lo mejor que puedas aprender.

kubernetes namespace qué es

¿Qué es kubernetes namespace?

La herramienta kubernetes namespace hace referencia a los clústeres de tipo virtual que son respaldados por un mismo clúster físico. Esta opción está diseñada para utilizarse en los entornos que cuentan con múltiples usuarios que se distribuyen a lo largo de varios equipos o proyectos de trabajo.

Se recomienda el uso de los kubernetes namespace cuando la cantidad de usuarios es elevada, pues se encargan de las labores relacionadas con los procesos de ofrecimiento de un campo de acción especifico para los nombres. Cabe resaltar que los nombres de estos recursos necesitan ser únicos en el interior de cada uno de los namespaces, pero no es obligatorio que lo sean entre dichos namespaces.

Características de kubernetes namespace

Dentro de las características de la opción kunernetes namespace se encuentran:

  • Su capacidad para dividir un conjunto de recursos determinados del clúster entre diversos usuarios.
  • Su contribución a los procesos que permiten compartir los clústeres entre diferentes clientes, equipos y proyectos.
  • Si el usuario necesita separar algunos recursos que solo difieran de forma ligera, no tiene la necesidad de usar más de un kubernetes namespace, sino que puede utilizar las etiquetas ofrecidas por la plataforma.
  • El usuario podrá identificar y distinguir los recursos dentro de un mismo namespace. A pesar de que no es necesario, el sistema proporciona la opción de utilizar diferentes namespaces.
  • Kubernetes namespace ofrece un ámbito para los nombres y una manera que pueda permitir que se adjunten las autorizaciones y políticas a una determina subsección de un clúster del sistema.

También se debe aclarar que gran parte de los objetos y recursos de kubernetes se encuentran en algunos namespaces, como, por ejemplo los pods, los controladores de replicación gestionados por kube-controller-manager y demás. Sin embargo, existen elementos que se encargan de representar estos kubernetes namespace, por lo que no están en el interior de los mismos. De igual forma, los recursos denominados de bajo nivel, como pueden ser los volúmenes con persistencia o los nodos, no se encuentran dentro de los namespaces de la plataforma.

Kubernetes namespace iniciales

De manera inicial, existen tres kubernetes namespace diferentes con los que arranca la plataforma de kubernetes. Estos son:

  • default: se trata del kubernetes namespace establecido por defecto por el sistema. Se destinaa los objetos que no indican ni especifican alguno de los namespaces.
  • kube-system: este namespace kubernetes se asigna a los recursos que crea la misma plataforma de kubernetes.
  • kube-public: es el namespace kubernetes que se crea automáticamente por el sistema y que puede ser visible para todos los usuarios, incluso para aquellos que no están autenticados. Usualmente, este namespace se enfoca en el uso interno del clúster de la plataforma en las situaciones donde alguno de los recursos necesite ser visible y legible de manera pública para todo el clúster.

Ejemplo práctico

🔴 ¿Quieres entrar de lleno al mundo DevOps & Cloud Computing? 🔴

Descubre el DevOps & Cloud Computing Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp en DevOps & Cloud Computing por una semana

Piensa en una empresa de desarrollo de software con tres equipos: Desarrollo, Pruebas y Producción, cada uno con requisitos y permisos diferentes. La empresa quiere asegurarse de que los recursos no se mezclen entre estos equipos, mantener los entornos aislados y administrar los permisos de forma eficiente.

Solución con Kubernetes Namespace:

  1. Creación de Namespaces:
    • dev para el equipo de desarrollo.
    • testing para el equipo de pruebas QA.
    • prod para el entorno de producción.
  2. Gestión de recursos y seguridad:
    • Configuración de cuotas de recursos para evitar el consumo excesivo entre equipos.
    • Implementación de políticas de acceso específicas para cada namespace, asegurando la seguridad operacional.
  3. Despliegue y operación:
    • Despliegue de aplicaciones en el namespace correspondiente según la etapa del ciclo de desarrollo.
    • Monitoreo específico por namespace para optimizar el rendimiento y la gestión.

Ya has podido aprender qué son los kubernetes namespace, cómo crear namespace kubernetes, así como cuáles son sus características y funciones principales. Ahora, no dudes en ir un paso más lejos y sigue con tu proceso de formación acerca de esta y otras herramientas a través de nuestro DevOps & Cloud Computing Full Stack Bootcamp.

Gracias al bootcamp de KeepCoding, podrás encontrar toda la información necesaria para convertirte en un experto del sector IT y destacar frente a tu competencia. ¡Anímate a inscribirte y sigue aprendiendo sobre namespace kubernetes y mucho más!

Xoán Mallón

Senior DevOps Engineer en Zscaler & Coordinador del Bootcamp DevOps & Cloud Computing.

Posts más leídos

¡CONVOCATORIA ABIERTA!

DevOps & Cloud Computing

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado