Un clúster de usuarios de GKE en AWS aloja sus cargas de trabajo de Kubernetes. Este tema le muestra cómo crear un clúster de usuarios básico. Si desea configurarlo con más detalle, consulte "Crear un clúster de usuarios personalizado" .
Aprovisiona un clúster de usuarios de GKE en AWS con los recursos personalizados AWSCluster
y AWSNodePool
.
Antes de empezar
Para crear un clúster de usuarios, primero debe instalar un servicio de administración .
Para conectarse a sus recursos de GKE en AWS, siga estos pasos. Seleccione si ya tiene una VPC de AWS (o una conexión directa a su VPC) o si creó una VPC dedicada al crear su servicio de administración.
VPC existente
Si tiene una conexión directa o VPN a una VPC existente, omita la línea env HTTP_PROXY=http://localhost:8118
de los comandos de este tema.
VPC dedicada
Cuando crea un servicio de administración en una VPC dedicada, GKE en AWS incluye un host bastión en una subred pública.
Para conectarse a su servicio de administración, realice los siguientes pasos:
Vaya al directorio con su configuración de GKE en AWS. Este directorio se creó al instalar el servicio de administración .
cd anthos-aws
Para abrir el túnel, ejecute el script
bastion-tunnel.sh
. El túnel redirecciona alocalhost:8118
.Para abrir un túnel al host bastión, ejecute el siguiente comando:
./bastion-tunnel.sh -N
Los mensajes del túnel SSH aparecen en esta ventana. Cuando esté listo para cerrar la conexión, detenga el proceso usando Control+C o cerrando la ventana.
Abra una nueva terminal y cámbiese a su 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 API del servicio de administración.
Seleccionar un tamaño de instancia del plano de control
GKE en AWS no permite redimensionar las instancias del plano de control. Antes de crear el clúster de usuarios, seleccione el tamaño de instancia de sus planos de control. El tamaño de los planos de control depende de la cantidad de nodos del clúster. La siguiente tabla contiene los tamaños de instancia recomendados para los distintos tamaños de clúster.
Tamaño del clúster (nodos) | Tipo de instancia del plano de control |
---|---|
1 – 10 | m5.grande |
11 – 100 | m5.extra grande |
101 – 200 | m5.2xgrande |
Creación de un clúster de usuarios
En este ejemplo, se usa terraform
para generar una configuración y crear un clúster básico. Luego, se aplica la configuración con kubectl apply
.
Abra su terminal y, si es necesario, conéctese a su host bastión .
Cambie el directorio a la carpeta que creó al instalar el servicio de administración .
Use Terraform para generar un manifiesto que configure un clúster de ejemplo y guárdelo en un archivo YAML. Seleccione su versión de Terraform y ejecute 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, consulte la documentación de
AWSCluster
yAWSNodePool
.Abra el archivo en un editor de texto y edítelo si es necesario. De forma predeterminada, GKE en AWS crea grupos de nodos en cada zona de disponibilidad especificada en
anthos-gke.yaml
. Puede cambiar el tamaño y la cantidad de grupos de nodos para que coincidan con el clúster deseado. También puede realizar cambios adicionales en su configuración. Por ejemplo, puede cambiar los tipos de instancia de sus nodos de GKE en AWS; también puede habilitar el registro y la monitorización en los nodos del plano de control.Aplique el archivo a su servicio de gestión.
env HTTPS_PROXY=http://localhost:8118 \ kubectl apply -f cluster-0.yaml
Crear un kubeconfig
Mientras se inicia el clúster de usuarios, puede crear un contexto kubeconfig
para el nuevo clúster. Este contexto se usa para autenticarse en un clúster de usuarios o de administración.
Utilice
anthos-gke aws clusters get-credentials
para generar unkubeconfig
para su clúster de usuarios en~/.kube/config
.env HTTPS_PROXY=http://localhost:8118 \ anthos-gke aws clusters get-credentials CLUSTER_NAME
Reemplace CLUSTER_NAME con el nombre de su clúster. Por ejemplo,
cluster-0
.Utilice
kubectl
para autenticarse en su nuevo clúster de usuarios.env HTTPS_PROXY=http://localhost:8118 \ kubectl cluster-info
Si su clúster está listo, la salida incluye las URL de los componentes de Kubernetes dentro de su clúster.
Visualización del estado de su clúster
El servicio de administración aprovisiona recursos de AWS cuando aplica un AWSCluster
o AWSNodePool
.
Desde su directorio
anthos-aws
, useanthos-gke
para cambiar el contexto a su servicio de administración.cd anthos-aws anthos-gke aws management get-credentials
Para enumerar sus clústeres, utilice
kubectl get AWSClusters
.env HTTPS_PROXY=http://localhost:8118 \ kubectl get AWSClusters
La salida incluye el nombre, el estado, la edad, la versión y el punto final de cada clúster.
Por ejemplo, la siguiente salida 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
Ver los eventos de su clúster
Para ver eventos recientes de Kubernetes de su clúster de usuarios, use kubectl get events
.
Desde su directorio
anthos-aws
, useanthos-gke
para cambiar el contexto a su servicio de administración.cd anthos-aws anthos-gke aws management get-credentials
Ejecute
kubectl get events
.env HTTPS_PROXY=http://localhost:8118 \ kubectl get events
La salida incluye información, advertencias y errores relacionados con su servicio de administración.
Eliminar un clúster de usuarios
Para eliminar un clúster de usuarios, realice los siguientes pasos:
Desde su directorio
anthos-aws
, useanthos-gke
para cambiar el contexto a su servicio de administración.cd anthos-aws anthos-gke aws management get-credentials
Utilice
kubectl delete
para eliminar el manifiesto que contiene sus clústeres de usuarios.env HTTPS_PROXY=http://localhost:8118 \ kubectl delete -f CLUSTER_FILE
Reemplace CLUSTER_FILE con el nombre del manifiesto que contiene los objetos AWScluster y AWSNodePool. Por ejemplo,
cluster-0.yaml
.
Eliminar todos los clústeres de usuarios
Para eliminar todos los clústeres de usuarios, realice los siguientes pasos:
Desde su directorio
anthos-aws
, useanthos-gke
para cambiar el contexto a su servicio de administración.cd anthos-aws anthos-gke aws management get-credentials
Utilice
kubectl delete
para eliminar 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, consulte Desinstalación de GKE en AWS .
¿Qué sigue?
Inicie su primera carga de trabajo en GKE en AWS.
Configure su proveedor de identidad con el Servicio de identidad de GKE .
Cree un clúster de usuarios personalizado con diferentes configuraciones.
Configure la red de AWS para equilibrar sus cargas de trabajo.
Lea las especificaciones para las definiciones de recursos personalizados AWSCluster y AWSNodePool .