‫Para su primer clúster, tal vez incluso sus primeros
‫clústeres, no tendrá que preocuparse demasiado por este concepto
‫de espacios de nombres y contextos.
‫Pero, es algo que debe tener en
‫cuenta que existe en caso de que necesite usarlo.
‫Los espacios de nombres son esencialmente clústeres virtuales, o vistas
‫virtuales, dentro de un solo clúster.
‫Filtra no solo la vista del comando para que solo
‫vea ciertas cosas cuando escribe comandos, sino
‫que también, con los complementos de política de red
‫correctos, puede controlar la red.
‫Esto es un poco diferente de Swarm, donde Swarm,
‫listo para usar, crearía diferentes redes de superposición y
‫todo era esencialmente privado.
‫En Kubernetes, las redes y el control de las aplicaciones y
‫su privacidad, y lo que pueden ver y acceder, y
‫lo que se controla físicamente allí, depende realmente de su
‫complemento de red.
‫Los espacios de nombres en sí no están relacionados con los espacios
‫de nombres de Docker, de los que quizás haya oído hablar,
‫que en realidad es parte del subsistema Linux, y así es
‫como funcionan los contenedores. Esto no tiene nada que ver con eso.
‫Esto es simplemente lo que dice Kubernetes, oye, es posible que
‫tengas muchas cosas en tu clúster, y te doy la
‫oportunidad de hacer pequeños mini clústeres donde establecerías
‫el espacio de nombres con un contexto y esa
‫es tu opinión. cambiando tu contexto.
‫Puedes cambiar lo que ves.
‫Entonces, el espacio de nombres es segmentos
‫diferentes para filtrar los comandos, así como potencialmente
‫la red. En mi sistema aquí en mi
‫escritorio, simplemente veo que kubectl obtiene espacios de nombres y ese
‫comando me muestra 4. Ese es, de
‫manera inmediata, el estándar que verás.
‫El valor predeterminado es con lo que has estado trabajando hasta ahora.
‫Está hecho para el espacio de nombres predeterminado
‫de sus aplicaciones. Lo único que realmente te
‫muestra cuando hiciste un kubectl get
‫all es el punto final de la API de Kubernetes, correcto.
‫Hasta que comenzamos a agregar aplicaciones, realmente no
‫vimos nada allí. Técnicamente, todo esto
‫se ejecuta en segundo plano, ¿verdad? Eso es lo que el kubectl obtiene: todos
‫los espacios de nombres.
‫Puede ver todos los contenedores API y
‫todo lo que se ejecuta dentro de Kubernetes
‫con ese comando. Si miro todos los espacios de nombres
‫a la vez, obtengo todo, incluso cosas del sistema.
‫Esta es una vista de cómo se vería
‫en minikube que pone todo en sus propios pods para
‫ejecutar el clúster.
‫Están pasando muchas cosas allí.
‫La comprensión es que cuando normalmente usa Kubernetes,
‫la línea de comando se enfoca en el espacio de
‫nombres predeterminado, por defecto.
‫Solo verá sus aplicaciones allí realmente, aparte del
‫punto final de API.
‫Eso es algo bueno, cierto. Oculta la complejidad
‫de lo que está sucediendo en el
‫fondo de su comando diario, porque realmente no
‫necesita ver esas cosas a menos que necesite actualizarlas, cambiarlas o
‫si tiene un problema. El contexto entra en
‫juego para configurar su vista para cuando está ejecutando comandos.
‫El kubectl hace muchas cosas, correcto.
‫Se puede conectar a diferentes grupos.
‫Puede cambiar la autenticación, o el usuario, que está
‫utilizando para hablar con el clúster, del que no
‫hemos hablado, o el espacio de nombres.
‫Entonces, hay estas tres partes, realmente, de un contexto.
‫Es decir, el clúster, la autenticación o el usuario, y luego
‫el espacio de nombres que desea ver.
‫Todo lo que está definido, por defecto, en
‫un archivo dentro de. kube directorio de su directorio
‫de inicio.
‫Hay un archivo llamado config, y básicamente
‫será un archivo YAML de todas, tres de esas partes.
‫Puede tener varias entradas allí, y puede
‫editarlo como desee.
‫Podrías tener un montón de grupos diferentes y siempre que tengas los
‫certificados para hablar con ellos, la autenticación correcta, puedes poner
‫todas esas cosas en ese archivo, y es algo que quieres
‫mantener en secreto. No es
‫algo que realmente quiera compartir porque generalmente
‫tiene sus claves de autenticación para
‫hablar con un clúster. Si usa
‫el comando kubectl config con el subcomando get context, eso es
‫plural, puede ver básicamente la salida
‫de ese archivo. En lugar de
‫arrojarlo sin procesar, puedes ver una pequeña
‫lista de lo que tiene dentro.
‫En mi caso, tengo mi Docker Desktop estándar en
‫mi máquina local. Esa entrada está allí dos
‫veces para las últimas ediciones de Docker Desktop porque han cambiado el
‫nombre, por lo que mantienen la compatibilidad con ambas.
‫Luego tengo un minikube local y una instancia
‫remota de micro K8 que se ejecuta en
‫un servidor Ubuntu.
‫Entonces, puedes imaginar que si administraba
‫muchos otros servidores, no necesariamente siempre quiero ingresar
‫en esas máquinas. Realmente solo quiero sentarme en mi máquina local
‫y hablar con esa API remota.
‫Puede usar el comando kubectl config con cualquiera de
‫las opciones establecidas. Definitivamente quieres
‫ver la ayuda allí. Pero, hay opciones establecidas para
‫configurar los valores predeterminados para cada uno de estos,
‫por lo que podría cambiar el usuario para
‫tener una autenticación diferente. Entonces, tal vez tienes derechos
‫de Dios en lugar de solo un subconjunto de los comandos que
‫Kubernetes podría ejecutar. O tal vez va a cambiar el
‫grupo con el que está hablando.
‫Incluso hay complementos de línea de comandos si miras
‫a tu alrededor en Google para
‫permitirte ver en tu shell cuál de los contextos estás usando.
‫Eso es bastante útil cuando terminas administrando un montón
‫de clústeres diferentes. Quieres saber,
‫¿con quién estoy hablando ahora? En realidad, puede configurar eso, de
‫forma similar a cómo las indicaciones de obtención le dirán en
‫qué rama se encuentra. Estos le dirán, en su
‫solicitud, qué contexto tiene.