Un clúster de usuario de GKE on AWS aloja tus cargas de trabajo de Kubernetes. En este tema se explica cómo crear un clúster de usuarios básico. Si quieres configurar un clúster de usuarios, consulta Crear un clúster de usuarios personalizado.
Aprovisionas un clúster de usuario de GKE en AWS con los AWSCluster
y AWSNodePool
recursos personalizados.
Antes de empezar
Para crear un clúster de usuarios, primero debes instalar un servicio de gestión.
Para conectarte a tus recursos de GKE en AWS, sigue estos pasos. Selecciona si tienes una VPC de AWS (o una conexión directa a tu VPC) o si has creado una VPC específica al crear tu servicio de gestión.
VPC ya creada
Si tienes una conexión directa o VPN a una VPC, omite la línea env HTTP_PROXY=http://localhost:8118
de los comandos de este tema.
VPC dedicada
Cuando creas un servicio de gestión en una VPC dedicada, GKE en AWS incluye un host bastión en una subred pública.
Para conectarte a tu servicio de gestión, sigue estos pasos:
Cambia al directorio con tu configuración de GKE en AWS. Has creado este directorio al instalar el servicio de gestión.
cd anthos-aws
Para abrir el túnel, ejecuta la secuencia de comandos
bastion-tunnel.sh
. El túnel reenvía alocalhost:8118
.Para abrir un túnel al host bastion, ejecuta el siguiente comando:
./bastion-tunnel.sh -N
Los mensajes del túnel SSH aparecen en esta ventana. Cuando quieras cerrar la conexión, detén el proceso con Control+C o cierra la ventana.
Abre una terminal nueva y ve al directorio
anthos-aws
.cd anthos-aws
Comprueba que puedes conectarte al clúster con
kubectl
.env HTTPS_PROXY=http://localhost:8118 \ kubectl cluster-info
La salida incluye la URL del servidor de la API del servicio de gestión.
Seleccionar el tamaño de una instancia del plano de control
GKE en AWS no admite el cambio de tamaño de las instancias del plano de control. Antes de crear el clúster de usuarios, selecciona el tamaño de instancia de los planos de control. El tamaño del plano de control depende del número de nodos del clúster. En la siguiente tabla se incluyen los tamaños de instancia del plano de control recomendados para distintos tamaños de clúster.
Tamaño del clúster (nodos) | Tipo de instancia del plano de control |
---|---|
De 1 a 10 | m5.large |
11-100 | m5.xlarge |
101-200 | m5.2xlarge |
Crear un clúster de usuarios
En este ejemplo, usas terraform
para generar una configuración
para crear un clúster básico. A continuación, aplica la configuración con kubectl apply
.
Abre tu terminal y, si es necesario, conéctate a tu host bastion.
Cambia el directorio a la carpeta que has creado al instalar el servicio de gestión.
Usa Terraform para generar un manifiesto que configure un clúster de ejemplo y guárdalo en un archivo YAML. Elige tu versión de Terraform y, a continuación, ejecuta los siguientes comandos:
Terraform 0.12 y 0.13
terraform output cluster_example > cluster-0.yaml
Terraform 0.14.3 o versiones posteriores
terraform output -raw cluster_example > cluster-0.yaml
Para obtener más información sobre el contenido de este archivo, consulta la documentación de
AWSCluster
yAWSNodePool
.Abre el archivo en un editor de texto y edítalo si es necesario. De forma predeterminada, GKE on AWS crea grupos de nodos en cada zona de disponibilidad especificada en
anthos-gke.yaml
. Puedes cambiar el tamaño y el número de grupos de nodos para que coincidan con el clúster que quieras. También puedes hacer cambios adicionales en tu configuración. Por ejemplo, puedes cambiar los tipos de instancia de tus nodos de GKE en AWS o habilitar el registro y la monitorización en tus nodos del plano de control.Aplica el archivo a tu servicio de gestión.
env HTTPS_PROXY=http://localhost:8118 \ kubectl apply -f cluster-0.yaml
Crear un archivo kubeconfig
Mientras se inicia el clúster de usuarios, puedes crear un contexto kubeconfig
para el nuevo clúster de usuarios. El contexto se usa para autenticar a un usuario o a un clúster de gestión.
Usa
anthos-gke aws clusters get-credentials
para generar unkubeconfig
para tu clúster de usuarios en~/.kube/config
.env HTTPS_PROXY=http://localhost:8118 \ anthos-gke aws clusters get-credentials CLUSTER_NAME
Sustituye CLUSTER_NAME por el nombre de tu clúster. Por ejemplo,
cluster-0
.Usa
kubectl
para autenticarte en tu nuevo clúster de usuarios.env HTTPS_PROXY=http://localhost:8118 \ kubectl cluster-info
Si el clúster está listo, el resultado incluye las URLs de los componentes de Kubernetes del clúster.
Ver el estado de un clúster
El servicio de gestión aprovisiona recursos de AWS cuando aplicas un AWSCluster
o un AWSNodePool
.
En tu directorio de
anthos-aws
, usaanthos-gke
para cambiar el contexto a tu servicio de gestión.cd anthos-aws anthos-gke aws management get-credentials
Para enumerar tus clústeres, usa
kubectl get AWSClusters
.env HTTPS_PROXY=http://localhost:8118 \ kubectl get AWSClusters
La salida incluye el nombre, el estado, la antigüedad, la versión y el endpoint de cada clúster.
Por ejemplo, el siguiente resultado solo incluye un
AWSCluster
llamadocluster-0
:NAME STATE AGE VERSION ENDPOINT cluster-0 Provisioning 2m41s 1.25.5-gke.2100 gke-xyz.elb.us-east-1.amazonaws.com
Ver los eventos de un clúster
Para ver los eventos de Kubernetes recientes de tu clúster de usuario, usa kubectl get events
.
En tu directorio de
anthos-aws
, usaanthos-gke
para cambiar el contexto a tu servicio de gestión.cd anthos-aws anthos-gke aws management get-credentials
Ejecuta
kubectl get events
.env HTTPS_PROXY=http://localhost:8118 \ kubectl get events
La salida incluye información, advertencias y errores relacionados con tu servicio de gestión.
Eliminar un clúster de usuarios
Para eliminar un clúster de usuarios, sigue estos pasos:
En tu directorio de
anthos-aws
, usaanthos-gke
para cambiar el contexto a tu servicio de gestión.cd anthos-aws anthos-gke aws management get-credentials
Usa
kubectl delete
para eliminar el manifiesto que contiene tus clústeres de usuarios.env HTTPS_PROXY=http://localhost:8118 \ kubectl delete -f CLUSTER_FILE
Sustituye CLUSTER_FILE por el nombre del manifiesto que contiene tus objetos AWSCluster y AWSNodePool. Por ejemplo,
cluster-0.yaml
.
Eliminar todos los clústeres de usuarios
Para eliminar todos tus clústeres de usuarios, sigue estos pasos:
En tu directorio de
anthos-aws
, usaanthos-gke
para cambiar el contexto a tu servicio de gestión.cd anthos-aws anthos-gke aws management get-credentials
Usa
kubectl delete
para eliminar tus AWSNodePools y AWSClusters de tu servicio de gestión.env HTTPS_PROXY=http://localhost:8118 \ kubectl delete AWSNodePool --all env HTTPS_PROXY=http://localhost:8118 \ kubectl delete AWSCluster --all
Para obtener más información, consulta el artículo sobre cómo desinstalar GKE on AWS.
Siguientes pasos
Lanza tu primera carga de trabajo en GKE on AWS.
Configura tu proveedor de identidades con Identity Service para GKE.
Crea un clúster de usuarios personalizado con ajustes diferentes.
Configura la red de AWS para balancear la carga de tus cargas de trabajo.
Consulta las especificaciones de las definiciones de recursos personalizados AWSCluster y AWSNodePool.