Un clúster de usuario de GKE on AWS aloja tus cargas de trabajo de Kubernetes. En este tema, se muestra cómo crear un clúster de usuario básico. Si deseas configurar aún más un clúster de usuario, consulta Crea un clúster de usuario personalizado.
Debes aprovisionar un clúster de usuario de GKE on AWS con los recursos personalizados AWSCluster
y AWSNodePool
.
Antes de comenzar
Para crear un clúster de usuario, primero debes instalar un servicio de administración.
Para conectarte a tus recursos de GKE on AWS, realiza las siguientes instrucciones. Selecciona si tienes una VPC de AWS existente (o conexión directa a tu VPC) o si creaste una VPC dedicada cuando creaste tu servicio de administración.
VPC existente
Si tienes una conexión directa o de VPN con una VPC existente, omite la línea env HTTP_PROXY=http://localhost:8118
de los comandos en este tema.
VPC dedicada
Cuando creas un servicio de administración en una VPC dedicada, GKE on AWS incluye un host de bastión en una subred pública.
Para conectarte al servicio de administración, realiza los siguientes pasos:
Cambia al directorio con la configuración de GKE en AWS. Creaste este directorio cuando instalaste el servicio de administració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 de bastión, ejecuta el siguiente comando:
./bastion-tunnel.sh -N
Los mensajes del túnel SSH aparecen en esta ventana. Cuando estés listo para cerrar la conexión, detén el proceso mediante Control+C o cierra la ventana.
Abre una terminal nueva y cambia a tu directorio de
anthos-aws
.cd anthos-aws
Verifica que puedas conectarte al clúster con
kubectl
.env HTTPS_PROXY=http://localhost:8118 \ kubectl cluster-info
El resultado incluye la URL para el servidor de API del servicio de administración.
Selecciona un tamaño de instancia de plano de control
GKE on AWS no admite el cambio de tamaño de las instancias del plano de control. Antes de crear tu clúster de usuario, selecciona el tamaño de instancia de tus planos de control. Los tamaños del plano de control dependen de la cantidad de nodos en el clúster. La siguiente tabla contiene los tamaños de instancia del plano de control recomendados para varios tamaños de clúster.
Tamaño del clúster (nodos) | Tipo de instancia del plano de control |
---|---|
1 – 10 | m5.large |
11 – 100 | m5.xlarge |
101 – 200 | m5.2xlarge |
Crear un clúster de usuario
En este ejemplo, usas terraform
para generar una configuración a fin de crear un clúster básico. Luego, aplicarás la configuración mediante kubectl apply
.
Abre la terminal y, si es necesario, conéctate a tu host de bastión.
Cambia el directorio a la carpeta que creaste cuando instalaste el servicio de administración.
Usa Terraform para generar un manifiesto que configure un clúster de ejemplo y guárdalo en un archivo YAML. Elige la versión de Terraform y ejecuta los siguientes comandos:
Terraform 0.12, 0.13
terraform output cluster_example > cluster-0.yaml
Terraform 0.14.3+
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 el 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 la cantidad de grupos de nodos para que coincidan con el clúster deseado. También puedes realizar cambios adicionales en tu configuración. Por ejemplo, puedes cambiar los tipos de instancias de tus nodos de GKE on AWS. También puedes habilitar el registro y la supervisión en los nodos del plano de control.Aplica el archivo al servicio de administración.
env HTTPS_PROXY=http://localhost:8118 \ kubectl apply -f cluster-0.yaml
Crea un kubeconfig
Mientras se inicia el clúster de usuario, puedes crear un contexto kubeconfig
para el clúster de usuario nuevo. Usas el contexto para autenticarte en un usuario o clúster de administración.
Usa
anthos-gke aws clusters get-credentials
a fin de generar unkubeconfig
para el clúster de usuario en~/.kube/config
.env HTTPS_PROXY=http://localhost:8118 \ anthos-gke aws clusters get-credentials CLUSTER_NAME
Reemplaza CLUSTER_NAME por el nombre del clúster. Por ejemplo,
cluster-0
Usa
kubectl
para autenticarte en el clúster de usuario nuevo.env HTTPS_PROXY=http://localhost:8118 \ kubectl cluster-info
Si el clúster está listo, el resultado incluye las URL de los componentes de Kubernetes dentro del clúster.
Visualiza el estado del clúster
El servicio de administración aprovisiona recursos de AWS cuando aplicas un AWSCluster
o AWSNodePool
.
Desde tu directorio de
anthos-aws
, usaanthos-gke
para cambiar el contexto a tu servicio administrado.cd anthos-aws anthos-gke aws management get-credentials
Para enumerar los clústeres, usa
kubectl get AWSClusters
.env HTTPS_PROXY=http://localhost:8118 \ kubectl get AWSClusters
El resultado incluye el nombre, el estado, la antigüedad, la versión y el extremo de cada clúster.
Por ejemplo, el siguiente resultado incluye solo 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
Consulta los eventos de tu clúster
Para ver los eventos de Kubernetes recientes de tu clúster de usuario, usa kubectl get events
.
Desde tu directorio de
anthos-aws
, usaanthos-gke
para cambiar el contexto a tu servicio administrado.cd anthos-aws anthos-gke aws management get-credentials
Ejecuta
kubectl get events
.env HTTPS_PROXY=http://localhost:8118 \ kubectl get events
El resultado incluye información, advertencias y errores relacionados con el servicio de administración.
Borra un clúster de usuario
Para borrar un clúster de usuario, realiza los siguientes pasos:
Desde tu directorio de
anthos-aws
, usaanthos-gke
para cambiar el contexto a tu servicio administrado.cd anthos-aws anthos-gke aws management get-credentials
Usa
kubectl delete
para borrar el manifiesto que contiene los clústeres de usuario.env HTTPS_PROXY=http://localhost:8118 \ kubectl delete -f CLUSTER_FILE
Reemplaza CLUSTER_FILE por el nombre del manifiesto que contiene tus objetos AWScluster y AWSNodePool. Por ejemplo,
cluster-0.yaml
.
Borra todos los clústeres de usuario
Para borrar todos tus clústeres de usuario, realiza los siguientes pasos:
Desde tu directorio de
anthos-aws
, usaanthos-gke
para cambiar el contexto a tu servicio administrado.cd anthos-aws anthos-gke aws management get-credentials
Use
kubectl delete
para borrar sus AWSNodePools y AWSClusters de su servicio de administració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 Desinstala GKE on AWS.
¿Qué sigue?
Inicia tu primera carga de trabajo en GKE on AWS.
Configura tu proveedor de identidad con GKE Identity Service.
Crea un clúster de usuario personalizado con una configuración diferente.
Configura las herramientas de redes de AWS para el balanceo de las cargas de trabajo.
Lee las especificaciones para las definiciones de recursos personalizados de AWSCluster y AWSNodePool.