Crear un clúster de usuarios

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:

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

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

  3. Abre una terminal nueva y ve al 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 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.

  1. Abre tu terminal y, si es necesario, conéctate a tu host bastion.

  2. Cambia el directorio a la carpeta que has creado al instalar el servicio de gestión.

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

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

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

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

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

  1. En tu directorio de anthos-aws, usa anthos-gke para cambiar el contexto a tu servicio de gestión.

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

  2. 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 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 un clúster

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

  1. En tu directorio de anthos-aws, usa anthos-gke para cambiar el contexto a tu servicio de gestión.

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

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

  1. En tu directorio de anthos-aws, usa anthos-gke para cambiar el contexto a tu servicio de gestión.

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

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

  1. En tu directorio de anthos-aws, usa anthos-gke para cambiar el contexto a tu servicio de gestión.

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

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