Creación de un clúster de usuarios

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:

  1. 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

  2. Para abrir el túnel, ejecute el script bastion-tunnel.sh . El túnel redirecciona a localhost: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.

  3. Abra una nueva terminal y cámbiese a su directorio anthos-aws .

    cd anthos-aws
  4. 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 .

  1. Abra su terminal y, si es necesario, conéctese a su host bastión .

  2. Cambie el directorio a la carpeta que creó al instalar el servicio de administración .

  3. 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 y AWSNodePool .

  4. 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.

  5. 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.

  1. Utilice anthos-gke aws clusters get-credentials para generar un kubeconfig 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 .

  2. 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 .

  1. Desde su directorio anthos-aws , use anthos-gke para cambiar el contexto a su servicio de administración.

    cd anthos-aws
    anthos-gke aws management get-credentials

  2. 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 llamado cluster-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 .

  1. Desde su directorio anthos-aws , use anthos-gke para cambiar el contexto a su servicio de administración.

    cd anthos-aws
    anthos-gke aws management get-credentials

  2. 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:

  1. Desde su directorio anthos-aws , use anthos-gke para cambiar el contexto a su servicio de administración.

    cd anthos-aws
    anthos-gke aws management get-credentials

  2. 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:

  1. Desde su directorio anthos-aws , use anthos-gke para cambiar el contexto a su servicio de administración.

    cd anthos-aws
    anthos-gke aws management get-credentials

  2. 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?