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 AWS, este endpoint es un nombre de DNS que solo se puede resolver dentro del clúster, por ejemplo, gke-abcdefghijk-cp-ffabcdef123456.elb.us-west-1.amazonaws.com
.
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 aws clusters describe
.
Endpoint de la pasarela de conexión
De forma predeterminada, el comando gcloud container aws 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 VPC, puedes conectarte directamente al endpoint privado. Para generar un kubeconfig
con el punto final privado, usa el comando gcloud container aws clusters get-credentials --private-endpoint
.
Acerca de la autenticación de kubectl
Todos los clústeres de GKE en AWS están configurados para aceptar identidades de usuario y de cuenta de servicio. Para ello, validan las credenciales presentadas por Google Cloud
kubectl
y recuperan 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 AWS autentique al cliente kubectl
.
Una vez que los usuarios o las Google Cloud cuentas de servicio se hayan autenticado, también deben autorizarse para realizar cualquier acción en un clúster de GKE en AWS. El administrador del clúster es el responsable de configurar el control de acceso basado en roles adecuado para configurar la autorización.