Crea un clúster para ejecutar cargas de trabajo de contenedores

Crea un clúster de usuario para permitir la implementación de cargas de trabajo de contenedores.

Antes de comenzar

Para obtener los permisos necesarios para crear un clúster de usuario, pídele al administrador de IAM de tu organización que te otorgue el rol de administrador de clústeres de usuario (rol de user-cluster-admin).

Crea un clúster de usuario

Para obtener los permisos necesarios para crear un clúster de usuario, pídele a tu administrador de IAM que te otorgue el rol de administrador de clústeres de usuario (rol user-cluster-admin).

Completa los siguientes pasos para crear un clúster de usuario:

Console

  1. En el menú de navegación, selecciona Clústeres.

  2. Haga clic en Crear clúster.

  3. En el campo Nombre, especifica un nombre para el clúster de usuarios.

  4. Selecciona la versión del clúster de GDC. Cada versión se asigna a una versión distinta de Kubernetes.

  5. Haz clic en Siguiente.

  6. Configura los parámetros de configuración de red para tu clúster. No puedes cambiar estos parámetros de configuración de red después de crear el clúster. El único protocolo de Internet compatible y predeterminado para los clústeres de usuarios es la versión 4 del protocolo de Internet (IPv4).

    1. Si deseas crear nodos de balanceador de cargas dedicados, ingresa la cantidad de nodos que deseas crear. De forma predeterminada, recibes cero nodos y el tráfico del balanceador de cargas se ejecuta a través de los nodos de control.

    2. Selecciona el CIDR de servicio (enrutamiento entre dominios sin clases) que deseas usar. Tus servicios implementados, como los balanceadores de cargas, reciben direcciones IP asignadas de este rango.

    3. Selecciona el CIDR de Pod que deseas usar. El clúster asigna direcciones IP de este rango a tus Pods y VMs.

    4. Haz clic en Siguiente.

  7. Revisa los detalles del grupo de nodos predeterminado generado automáticamente para el clúster de usuario. Haz clic en Editar para modificar el grupo de nodos predeterminado.

  8. Para crear grupos de nodos adicionales, selecciona Agregar grupo de nodos. Cuando editas el grupo de nodos predeterminado o agregas un grupo de nodos nuevo, puedes personalizarlo con las siguientes opciones:

    1. Asigna un nombre al grupo de nodos. No puedes modificar el nombre después de crear el grupo de nodos.
    2. Especifica la cantidad de nodos trabajadores que se crearán en el grupo de nodos.
    3. Selecciona la clase de máquina que mejor se adapte a los requisitos de tu carga de trabajo. Consulta la lista de los siguientes parámetros de configuración:

      • Tipo de máquina
      • CPU
      • Memoria
    4. Haz clic en Guardar.

  9. Haz clic en Crear para crear el clúster de usuario.

API

Para crear un clúster de usuario nuevo directamente con la API, aplica un recurso personalizado a tu instancia de GDC:

  1. Crea un recurso personalizado Cluster y guárdalo como un archivo YAML, por ejemplo, cluster.yaml:

    apiVersion: cluster.gdc.goog/v1
    kind: Cluster
    metadata:
      name: CLUSTER_NAME
      namespace: platform
    spec:
      clusterNetwork:
        podCIDRSize: POD_CIDR
        serviceCIDRSize: SERVICE_CIDR
      initialVersion:
        kubernetesVersion: KUBERNETES_VERSION
      loadBalancer:
        ingressServiceIPSize: LOAD_BALANCER_POOL_SIZE
      nodePools:
      - machineTypeName: MACHINE_TYPE
        name: NODE_POOL_NAME
        nodeCount: NUMBER_OF_WORKER_NODES
        taints: TAINTS
        labels: LABELS
      releaseChannel:
        channel: UNSPECIFIED
    

    Reemplaza lo siguiente:

    • CLUSTER_NAME: Es el nombre del clúster. El nombre del clúster no debe terminar con -system. El sufijo -system está reservado para los clústeres creados por GDC.
    • POD_CIDR: Es el tamaño de los rangos de red desde los que se asignan las direcciones IP virtuales de los Pods. Si no se establece, se usa el valor predeterminado 21.
    • SERVICE_CIDR: Es el tamaño de los rangos de red desde los que se asignan las direcciones IP virtuales de servicio. Si no se establece, se usa el valor predeterminado 23.
    • KUBERNETES_VERSION: Es la versión de Kubernetes del clúster, como 1.26.5-gke.2100. Para enumerar las versiones de Kubernetes disponibles para configurar, consulta Enumera las versiones de Kubernetes disponibles para un clúster.
    • LOAD_BALANCER_POOL_SIZE: Es el tamaño de los grupos de direcciones IP no superpuestos que usan los servicios de balanceador de cargas. Si no se establece, se usa el valor predeterminado 20.
    • MACHINE_TYPE: Es el tipo de máquina para los nodos trabajadores del grupo de nodos. Consulta los tipos de máquinas disponibles para ver qué se puede configurar.
    • NODE_POOL_NAME: Es el nombre del grupo de nodos.
    • NUMBER_OF_WORKER_NODES: Es la cantidad de nodos trabajadores que se aprovisionarán en el grupo de nodos.
    • TAINTS: Son los taints que se aplicarán a los nodos de este grupo de nodos. Este paso es opcional,
    • LABELS: Son las etiquetas que se aplicarán a los nodos de este grupo de nodos. Contiene una lista de pares clave-valor. Este campo es opcional.
  2. Aplica el recurso personalizado a tu instancia de GDC:

    kubectl apply -f cluster.yaml --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    

    Reemplaza ADMIN_CLUSTER_KUBECONFIG por la ruta de acceso al archivo kubeconfig del clúster de administrador de la organización.

Enumera las versiones de Kubernetes disponibles para un clúster

Puedes enumerar las versiones de Kubernetes disponibles en tu instancia de GDC con la CLI de kubectl:

kubectl get userclustermetadata.upgrade.private.gdc.goog \
    -o=custom-columns=K8S-VERSION:.spec.kubernetesVersion \
    --kubeconfig ADMIN_CLUSTER_KUBECONFIG

Reemplaza ADMIN_CLUSTER_KUBECONFIG por la ruta de acceso al archivo kubeconfig del clúster de administrador.

El resultado es similar al siguiente:

K8S-VERSION
1.25.10-gke.2100
1.26.5-gke.2100
1.27.4-gke.500

Compatibilidad con recursos de GPU en un clúster de usuario

GDC proporciona compatibilidad con las unidades de procesamiento de gráficos (GPU) de NVIDIA para los clústeres de usuarios, y estos ejecutan tus dispositivos de GPU como cargas de trabajo de usuarios. La compatibilidad con GPU está habilitada de forma predeterminada para los clústeres que tienen máquinas con GPU aprovisionadas. Asegúrate de que tu clúster de usuario admita dispositivos de GPU antes de aprovechar los contenedores de aprendizaje profundo. Por ejemplo, si deseas ejecutar contenedores de aprendizaje profundo, asegúrate de crear un clúster de usuario con al menos un nodo de GPU.

Los clústeres de usuarios se pueden crear directamente con la consola o la API de GDC. Asegúrate de aprovisionar máquinas con GPU para tu clúster de usuario de modo que admita cargas de trabajo de GPU en sus contenedores asociados. Para obtener más información, consulta Crea un clúster de usuario.

Tarjetas de GPU de NVIDIA compatibles

Los clústeres de GDC admiten la GPU NVIDIA A100 PCIe de 80 GB. Para habilitar esta compatibilidad, aprovisiona el tipo de máquina a2-ultragpu-1g-gdc en un clúster de usuario.