Configurar el acceso a clústeres para kubectl

En esta página se explica cómo configurar el acceso a los clústeres para la herramienta de línea de comandos kubectl en GKE en AWS.

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

Información general

Para acceder a GKE en AWS, debes configurar kubectl. Puedes definir un clúster predeterminado para kubectl configurando el contexto actual en el archivo kubeconfig de Kubernetes. Además, puedes ejecutar comandos kubectl en un clúster específico mediante la marca --cluster.

Para obtener más información sobre kubeconfig y los endpoints de clústeres, consulta Información sobre kubeconfig.

Antes de empezar

Si usas la pasarela Connect para acceder a kubectl, debes conceder a los usuarios administradores que no sean propietarios del proyecto los roles de gestión de identidades y accesos descritos en el artículo Usar kubectl con la identidad de la CLI de gcloud.

Comprobar el archivo kubeconfig actual

En esta sección se explica cómo comprobar tu kubeconfig actual.

Ver contextos de kubeconfig

Para ver el kubeconfig de tu entorno y todos los contextos que contiene, ejecuta el siguiente comando:

kubectl config view

El comando devuelve una lista de todos los clústeres para los que se han generado entradas kubeconfig. Si se muestra un clúster de GKE en AWS, puedes ejecutar kubectl comandos en él en tu entorno actual. De lo contrario, debes generar una entrada kubeconfig para el clúster.

Ver el contexto actual de kubectl

Para ver el contexto actual que usa la herramienta de línea de comandos kubectl, ejecuta el siguiente comando:

kubectl config current-context

kubectl muestra el nombre del contexto actual.

Generar una entrada kubeconfig

Para ejecutar comandos de kubectl en clústeres de GKE, debes generar una entrada de kubeconfig. La forma de generar un archivo kubeconfig depende de cómo quieras conectarte a tu clúster. Te recomendamos que uses la opción Conectar pasarela. Cuando usas Connect Gateway, la gke-connect-agent implementación envía solicitudes a través de Google al plano de control del clúster.

Para comprobar qué comandos de kubectl admite la pasarela Connect, consulta Limitaciones.

Si quieres conectarte a través de un endpoint privado, debes tener una conexión y un enrutamiento al endpoint del plano de control en tu nube privada virtual de AWS. El kube-apiserver del clúster forma parte del plano de control. Para enviar solicitudes directamente al endpoint privado, es posible que tengas que ampliar las reglas de cortafuegos. Para obtener más información sobre cómo conectarte a tu plano de control, consulta Grupos de seguridad de AWS.

Pasarela de conexión

gcloud container aws clusters get-credentials CLUSTER_NAME \
  --location GOOGLE_CLOUD_LOCATION

Haz los cambios siguientes:

  • CLUSTER_NAME: el nombre de tu clúster
  • GOOGLE_CLOUD_LOCATION: la Google Cloud región o zona donde se gestiona tu GKE en AWS

Endpoint privado

Para conectarte al endpoint privado, necesitas conectividad con el plano de control del clúster. Consulta Conectarse al plano de control de un clúster.

gcloud container aws clusters get-credentials CLUSTER_NAME \
  --location GOOGLE_CLOUD_LOCATION \
  --private-endpoint

Haz los cambios siguientes:

  • CLUSTER_NAME: el nombre de tu clúster
  • GOOGLE_CLOUD_LOCATION: la Google Cloud región o zona donde se gestiona tu GKE en AWS

Trabajar con varios clústeres

En esta sección se describe cómo usar kubectl con varios clústeres de GKE.

Definir un clúster predeterminado para los comandos de kubectl

Para cambiar el contexto actual de kubectl a ese clúster, ejecuta el siguiente comando:

gcloud container aws clusters get-credentials CLUSTER_NAME \
  --location GOOGLE_CLOUD_LOCATION \

Haz los cambios siguientes:

  • CLUSTER_NAME: el nombre de tu clúster
  • GOOGLE_CLOUD_LOCATION: la Google Cloud región o zona donde se gestiona tu GKE en AWS

Por ejemplo, supongamos que tiene un proyecto con dos clústeres, cluster-1 y cluster-2. El contexto actual es cluster-2. Para cambiar el contexto actual de cluster-2 a cluster-1, ejecuta el siguiente comando:

gcloud container aws clusters get-credentials cluster-1 \
  --location GOOGLE_CLOUD_LOCATION

Ejecutar comandos kubectl concretos en un clúster específico

Puedes ejecutar comandos kubectl individuales en un clúster específico si incluyes el nombre del clúster tal como aparece en kubeconfig como argumento de la marca --cluster.

Por ejemplo, supongamos que hay un entorno con dos clústeres, cluster-1 y cluster-2, y que el contexto actual es cluster-1. No quieres cambiar el contexto actual. Para obtener una lista de objetos Pod en cluster-2 sin cambiar el contexto actual, ejecuta el siguiente comando:

kubectl get pod --cluster cluster-2