Accediendo a múltiples Kubernetes clústeres
Utilice los archivos kubeconfig para organizar la información acerca de los clústeres, los usuarios, los Namespaces y los mecanismos de autenticación. La herramienta de línea de comandos kubectl utiliza los archivos kubeconfig para hallar la información que necesita para escoger un clúster y comunicarse con el servidor API de un clúster.
Un archivo utilizado para configurar el acceso a los clústeres se denomina archivo kubeconfig. Esta es una forma genérica de referirse a los archivos de configuración. Esto no significa que exista un archivo llamado kubeconfig.
Por defecto, kubectl busca un archivo llamado config en el directorio $HOME/.kube. Puedes especificar otros archivos kubeconfig mediante la configuración de la variable de entorno KUBECONFIG o mediante la configuracion del flag --kubeconfig.
Un elemento context en un archivo kubeconfig se utiliza para agrupar los parámetros de acceso bajo un nombre apropiado. Cada contexto tiene tres parámetros: clúster, Namespace y usuario. Por defecto, la herramienta de línea de comandos kubectl utiliza los parámetros del contexto actual para comunicarse con el clúster.

Laboratorio: Accediendo a múltiples Kubernetes clústeres
Descripción
Esta guía muestra cómo configurar el acceso a varios clústeres mediante archivos de configuración. Después de que sus clústeres, usuarios y contextos estén definidos en uno o más archivos de configuración, puede cambiar rápidamente entre clusters usando el comando kubectl config use-context
Objetivos
- Definir clústeres, usuarios y contextos
Antes de comenzar
- Contar con el acceso al ambiente del laboratorio
- Haber realizado la guía de Instalación Rancher Kubernetes Engine (RKE)
- Haber realizado la guía de Acceso a rancher y kubernetes cluster
Inicio de laboratorio
- Ingrese al CLI del sistema operativo del servidor usado como Bastion con el usuario y la contraseña proporcionados.
- Crear un nuevo directorio llamado temp-kubeconfig
mkdir temp-kubeconfig - Ingresar a Rancher Web Console con el usuario admin Haga clic en ☰ > Cluster Management, vaya al clúster local y en la barra de navegación superior haga clic en el botón Download KubeConfig. Guarde el archivo en una ubicación de su preferencia.
- Ingresar a Rancher Web Console con el usuario admin Haga clic en ☰ > Cluster Management, vaya al clúster cluster-user y en la barra de navegación superior haga clic en el botón Dowwload KubeConfig. Guarde el archivo en una ubicación de su preferencia.
- Copie los archivos descargados al directorio temp-kubeconfig del servidor usado como bastion.
cluster-users.yaml local.yaml - Renombrar el archivo KubeConfig actual
mv ~/.kube/config ~/.kube/config.old - Ingresar al directorio temp-kubeconfig
cd ~/temp-kubeconfig/ - Hacer Merge de los dos archivos KubeConfig descargados anteriormente
KUBECONFIG=local.yaml:cluster-users.yaml kubectl config view --flatten > config - Copiar el nuevo archivo KubeConfig generado hacia la ubicación usado por defecto
cp config ~/.kube/config - Abrir una nueva terminal en el mismo servidor usado como Bastion
- Listar los contextos definidos con el siguiente comando:
kubectl config get-contexts - Utilizar el contexto local
kubectl config use-context localkubectl get nodes - Utilizar el contexto cluster-users
kubectl config use-context cluster-userskubectl get nodes - Establecer en el contexto cluster-users un Namespace por defecto
kubectl config set-context cluster-users --cluster=cluster-users --namespace=cattle-system - Listar los pods del Namespace que se definió por defecto
kubectl get pods - Verifique el usuario actual
kubectl whoami - Muestre únicamente la configuración asociada al contexto actual
kubectl config view --minify