En este artículo, se discutirán las capacidades, limitaciones, cómo configurar espacios de nombres y cómo obtener una lista de espacios de nombres. Comencemos con la definición de espacios de nombres de Kubectl.
¿Qué son los espacios de nombres de Kubectl??
Un espacio de nombres de Kubectl es un objeto en Kubernetes que divide un solo clúster de Kubernetes físicos en múltiples grupos virtuales. Cada objeto de espacio de nombres define los límites de los nombres que se incluyen con él. En otras palabras, cada objeto de espacio de nombres en el clúster tiene una identidad única que es el objeto fundamental y se utiliza para separar y administrar los clústeres de Kubernetes.
Los espacios de nombres de Kubectl se utilizan para distinguir y asignar lógicamente los recursos a un programa específico, equipo, aplicación, grupo de usuarios o individuos. La eficiencia de los recursos se puede aumentar utilizando espacios de nombres porque se utiliza un clúster para múltiples colecciones de cargas de trabajo.
Ahora avancemos y veamos cómo obtener una lista de espacios de nombres y qué requisitos previos debe cumplirse.
Requisito previo:
Para usar el objeto Kubernetes de los espacios de nombres, el clúster de Minikube debe instalarse. En nuestro caso, Ubuntu 20.04 se usa para ejecutar los comandos del objeto de espacio de nombres. Se utilizan dos técnicas diferentes para iniciar un terminal de clúster de minikube. La primera técnica es acceder a la terminal utilizando la barra de aplicación del sistema operativo. La segunda técnica es acceder a la ventana del terminal presionando Ctrl+Alt+T.
Después de acceder a la ventana del terminal, inicie el minikube utilizando el comando de inicio de minikube. Cuando se ejecuta el comando 'Minikube Start', se mostrará la siguiente salida:
Ahora veamos cómo y cuándo usar los espacios de nombres de Kubectl.
Cómo usar los espacios de nombres de Kubectl?
El objeto de espacios de nombres de Kubernetes ofrece un mecanismo para segregar el grupo de recursos en un clúster. El nombre de cada recurso debe ser único en un espacio de nombres, pero no en los espacios de nombres. Sin embargo, el alcance de los espacios de nombres solo se aplica a objetos de espacio de nombres como servicios e implementaciones, pero no para objetos de todo el clúster como volúmenes persistentes, nodos, clases de almacenamiento, etc.
Para enumerar los espacios de nombres existentes en un clúster 'kubectl get namespace' se utiliza el comando. Después de ejecutar el comando, se generará la siguiente salida:
Observe que el objeto Kubernetes comienza con cuatro espacios de nombres iniciales: predeterminado, Kube-Node-Lase, Kube-Public y Kube-System.
Por defecto: Espacio de nombres para objetos sin ningún otro objeto.
Kube-nodo-arrendamiento: Sostiene un objeto de arrendamiento asociado con todos los nodos.
Kube-Public: Se crea automáticamente y puede ser legible por usuarios autenticados y no autenticados.
Sistema Kube: Es creado por el sistema de kubernetes.
Cómo establecer el espacio de nombres para una solicitud?
El indicador '-namesApace' se usa para establecer el espacio de nombres para una solicitud. Aquí está el código para establecer el espacio de nombres para una solicitud:
Después de ejecutar el comando 'kubectl ejecutar nginx', el servidor ha lanzado el error porque el pod nginx ya existe. Sin embargo, ejecutemos el comando Get Pod para obtener los espacios de nombres. El comando 'kubectl get pods' se ejecuta para obtener los espacios de nombres. A continuación puede ver el resultado del comando get pods.
Cómo establecer las preferencias para los espacios de nombres de Kubectl?
Los espacios de nombres para todos los comandos Kubectl posteriores se pueden guardar permanentemente utilizando el comando set-Context. Aquí está el comando para establecer la preferencia del espacio de nombres 'predeterminado'. Tenga en cuenta que se proporciona '-namespace = default' para establecer la preferencia de Kubectl a predeterminado.
Del mismo modo, el comando 'Ver' debe ejecutarse para ver el espacio de nombres. Vea el código a continuación:
La relación entre DNS y espacios de nombres
Cuando se crea un servicio, su entrada DNS correspondiente también se crea. La entrada DNS proporciona el nombre del servicio, el nombre del espacio de nombres y el clúster local, lo que significa que si un contenedor solo usa el nombre del servicio, se conectará al espacio de nombres del clúster local.
Esto se vuelve útil al implementar la misma configuración en varios espacios de nombres, como la producción, la puesta en escena y el desarrollo. Cuando los usuarios necesitan alcanzar los espacios de nombres, deben especificar el nombre de dominio totalmente calificado (FQDN).
Objetos que no son la parte del espacio de nombres:
El objeto o los recursos de Kubernetes son parte de algún espacio de nombres, yo.mi., Controlador de replicación, servicios, vainas, etc. Sin embargo, el objeto del espacio de nombres en sí no es parte de ningún espacio de nombres. Además, los volúmenes persistentes, los nodos y otros recursos de bajo nivel no son parte de ningún espacio de nombres.
Para ver qué recursos están en un espacio de nombres y qué recursos no están en ningún espacio de nombres, se utiliza el comando de recursos API. Vea el código a continuación.
Cuando los espacios de Names se establecen en 'Verdadero', mostrará los nombres de los recursos parte de algún espacio de nombres. Por otro lado, cuando los espacios de Names están establecidos en 'Falso', mostrará el nombre de esos recursos que no están en ninguno de los espacios de nombres. El 'Kubectl API -RESOURCE -Namespace = Namespace Preference' se utiliza para ver los recursos del espacio de nombres.
Como puede observar en las salidas anteriores, se dan las preferencias verdaderas y falsas para ver qué recurso está en algún espacio de nombres y cuáles no.
Conclusión:
Este artículo trata sobre la gestión de sistemas complicados como Kubernetes puede ser un gran desafío incluso para los usuarios expertos. Sin embargo, el fuerte conocimiento y el dominio de un espacio de nombres pueden hacer que las tareas desafiantes y complicadas sean mucho más fáciles. Un espacio de nombres es una herramienta poderosa que define la jerarquía, el rendimiento y la seguridad del sistema Kubernetes.