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