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ústerGOOGLE_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ústerGOOGLE_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ústerGOOGLE_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