Skip to content

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.

Kubernetes Kubeconfig

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

  1. Ingrese al CLI del sistema operativo del servidor usado como Bastion con el usuario y la contraseña proporcionados.
  2. Crear un nuevo directorio llamado temp-kubeconfig
    mkdir temp-kubeconfig
    
  3. 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.
  4. 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.
  5. Copie los archivos descargados al directorio temp-kubeconfig del servidor usado como bastion.
    cluster-users.yaml local.yaml
    
  6. Renombrar el archivo KubeConfig actual
    mv ~/.kube/config ~/.kube/config.old
    
  7. Ingresar al directorio temp-kubeconfig
    cd ~/temp-kubeconfig/
    
  8. Hacer Merge de los dos archivos KubeConfig descargados anteriormente
    KUBECONFIG=local.yaml:cluster-users.yaml kubectl config view --flatten > config
    
  9. Copiar el nuevo archivo KubeConfig generado hacia la ubicación usado por defecto
    cp config ~/.kube/config
    
  10. Abrir una nueva terminal en el mismo servidor usado como Bastion
  11. Listar los contextos definidos con el siguiente comando:
    kubectl config get-contexts
    
  12. Utilizar el contexto local
    kubectl config use-context local
    
    kubectl get nodes
    
  13. Utilizar el contexto cluster-users
    kubectl config use-context cluster-users
    
    kubectl get nodes
    
  14. Establecer en el contexto cluster-users un Namespace por defecto
    kubectl config set-context cluster-users --cluster=cluster-users --namespace=cattle-system
    
  15. Listar los pods del Namespace que se definió por defecto
    kubectl get pods
    
  16. Verifique el usuario actual
    kubectl whoami
    
  17. Muestre únicamente la configuración asociada al contexto actual
    kubectl config view --minify