Configura el acceso de kubectl al clúster

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

Descripción general

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

Para obtener más información sobre kubeconfig y los extremos del clúster, consulta Acerca de Kubeconfig.

Antes de comenzar

Si usas la puerta de enlace de Connect para el acceso kubectl, debes otorgar a los usuarios administradores que no sean propietarios del proyecto los roles de IAM descritos en Usa kubectl con identidad desde gcloud CLI.

Verifica kubeconfig actual

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

Visualiza contextos de kubeconfig

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

kubectl config view

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

Observa el contexto actual de kubectl

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

kubectl config current-context

kubectl da como resultado el nombre del contexto actual.

Genera una entrada de kubeconfig

Para ejecutar comandos kubectl en clústeres de GKE, debes generar una entrada kubeconfig. La forma en que generas un kubeconfig depende de cómo deseas conectarte a tu clúster. Te recomendamos usar la puerta de enlace de Connect. Si deseas conectarte a través de un extremo privado, debes tener una conexión y un enrutamiento al extremo del plano de control en tu nube privada virtual de AWS. El kube-apiserver del clúster es parte del plano de control. Para enviar solicitudes directamente al extremo privado, es posible que debas ampliar las reglas de firewall. Si deseas obtener más información para conectarte a tu plano de control, consulta los grupos de seguridad de AWS.

Conecta la puerta de enlace

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

Reemplaza lo siguiente:

  • CLUSTER_NAME: Es el nombre de tu clúster.
  • GOOGLE_CLOUD_LOCATION: Es la región o zona de Google Cloud en la que se administra GKE en AWS.

Extremo privado

Para conectarte al extremo privado, necesitas conectividad al plano de control del clúster. Consulta Conéctate al plano de control de tu clúster.

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

Reemplaza lo siguiente:

  • CLUSTER_NAME: Es el nombre de tu clúster.
  • GOOGLE_CLOUD_LOCATION: Es la región o zona de Google Cloud en la que se administra GKE en AWS.

Trabaja con varios clústeres

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

Configura un clúster predeterminado para los comandos de kubectl

Puedes cambiar el contexto actual de kubectl a ese clúster mediante la ejecución del siguiente comando:

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

Reemplaza lo siguiente:

  • CLUSTER_NAME: Es el nombre de tu clúster.
  • GOOGLE_CLOUD_LOCATION: Es la región o zona de Google Cloud en la que se administra GKE en AWS.

Por ejemplo, considera 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

Ejecuta comandos individuales de kubectl en un clúster específico

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

Por ejemplo, considera un entorno con dos clústeres, cluster-1 y cluster-2, en el que el contexto actual es cluster-1. No deseas 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