Información sobre kubeconfig

Esta página está dirigida a administradores de TI y operadores que quieran configurar, monitorizar y gestionar la infraestructura de la nube. Para obtener más información sobre los roles habituales y las tareas de ejemplo a las que hacemos referencia en el contenido, consulta Roles y tareas habituales de los usuarios de GKE. Google Cloud

Archivo de configuración de Kubernetes

Kubernetes usa un archivo YAML llamado kubeconfig para almacenar la información de autenticación del clúster de kubectl. kubeconfig contiene una lista de contextos a los que kubectl hace referencia al ejecutar comandos. De forma predeterminada, el archivo se guarda en $HOME/.kube/config.

Un contexto es un grupo de parámetros de acceso. Cada contexto contiene un clúster de Kubernetes, un usuario y un espacio de nombres. El contexto actual es el clúster que es el predeterminado en ese momento para kubectl: todos los comandos de kubectl se ejecutan en ese clúster.

Después de crear un clúster, sigue los pasos de Generar una entrada de kubeconfig para añadir el contexto del clúster a tu archivo kubeconfig local.

Endpoints privados

Todos los clústeres tienen un endpoint canónico. El endpoint expone el servidor de la API de Kubernetes que kubectl y otros servicios usan para comunicarse con el plano de control de tu clúster a través del puerto TCP 443. En Azure, este endpoint es una IP privada única respaldada por un balanceador de carga interno, como 10.0.1.5. No se puede acceder a este endpoint en la red pública de Internet. Puedes obtener la dirección del punto de conexión del clúster privado del campo endpoint en el resultado del comando gcloud container azure clusters describe.

Endpoint de la pasarela de conexión

De forma predeterminada, el comando gcloud container azure clusters get-credentials genera un kubeconfig que usa pasarela de conexión. Con este kubeconfig, kubectl usa Connect, que reenvía de forma segura el tráfico al endpoint privado en tu nombre. Cuando usas la pasarela de conexión, el endpoint tiene el siguiente formato: https://connectgateway.googleapis.com/v1/projects/PROJECT_NUMBER/memberships/CLUSTER_NAME, donde PROJECT_NUMBER es el número de tu proyecto y CLUSTER_NAME es el nombre de tu clúster.

Si tienes acceso al endpoint privado de tu clúster a través de tu red virtual, puedes conectarte directamente a él. Para generar un kubeconfig con el punto final privado, usa el comando gcloud container azure clusters get-credentials --private-endpoint.

Acerca de la autenticación de kubectl

Todos los clústeres de GKE en Azure están configurados para aceptar identidades de usuario y de cuenta de servicio. Para ello, validan las credenciales presentadas por Google Cloud kubectl y obtienen la dirección de correo asociada a la identidad de usuario o de cuenta de servicio. Por lo tanto, las credenciales de esas cuentas deben incluir el userinfo.email ámbito de OAuth para autenticarse correctamente.

Cuando usas gcloud para configurar el kubeconfig de tu entorno en un clúster nuevo o ya creado, gcloud proporciona a kubectl las mismas credenciales que usa gcloud. Por ejemplo, si usas gcloud auth login, tus credenciales personales se proporcionan a kubectl, incluido el ámbito userinfo.email. Esto permite que GKE en Azure autentique al cliente kubectl.

Una vez que se autentican los usuarios o las cuentas de servicio, también deben tener autorización para realizar cualquier acción en un clúster de GKE en Azure. Google Cloud El administrador del clúster es el responsable de configurar el control de acceso basado en roles adecuado para configurar la autorización.