Crear un clúster de usuario

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:

  1. Cambia al directorio con la configuración de GKE en AWS. Creaste este directorio cuando instalaste el servicio de administración.

    cd anthos-aws

  2. Para abrir el túnel, ejecuta la secuencia de comandos bastion-tunnel.sh. El túnel reenvía a localhost: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.

  3. Abre una terminal nueva y cambia a tu directorio de anthos-aws.

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

  1. Abre la terminal y, si es necesario, conéctate a tu host de bastión.

  2. Cambia el directorio a la carpeta que creaste cuando instalaste el servicio de administración.

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

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

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

  1. Usa anthos-gke aws clusters get-credentials a fin de generar un kubeconfig 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

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

  1. Desde tu directorio de anthos-aws, usa anthos-gke para cambiar el contexto a tu servicio administrado.

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

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

Consulta los eventos de tu clúster

Para ver los eventos de Kubernetes recientes de tu clúster de usuario, usa kubectl get events.

  1. Desde tu directorio de anthos-aws, usa anthos-gke para cambiar el contexto a tu servicio administrado.

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

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

  1. Desde tu directorio de anthos-aws, usa anthos-gke para cambiar el contexto a tu servicio administrado.

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

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

  1. Desde tu directorio de anthos-aws, usa anthos-gke para cambiar el contexto a tu servicio administrado.

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

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