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

Crea un clúster de usuarios para permitir el despliegue de cargas de trabajo de contenedores.

Antes de empezar

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

Crear clúster de usuarios

Para obtener los permisos necesarios para crear un clúster de usuarios, pide a tu administrador de IAM que te asigne el rol de administrador de clústeres de usuarios (rol user-cluster-admin).

Sigue estos pasos para crear un clúster de usuarios:

Consola

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

  2. Haz 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 corresponde con una versión de Kubernetes distinta.

  5. Haz clic en Siguiente.

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

    1. Si quieres crear nodos de balanceador de carga dedicados, introduce el número de nodos que quieras crear. De forma predeterminada, recibes cero nodos y el tráfico del balanceador de carga se dirige a través de los nodos de control.

    2. Selecciona el CIDR de servicio (enrutamiento de interdominios sin clases) que quieras usar. Tus servicios implementados, como los balanceadores de carga, tienen asignadas direcciones IP de este intervalo.

    3. Selecciona el CIDR de pod que quieras usar. El clúster asigna direcciones IP de este intervalo a tus pods y VMs.

    4. Haz clic en Siguiente.

  7. Consulta 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 más grupos de nodos, selecciona Añadir grupo de nodos. Cuando editas el grupo de nodos predeterminado o añades uno nuevo, puedes personalizarlo con las siguientes opciones:

    1. Asigna un nombre al pool de nodos. No puedes modificar el nombre después de crear el grupo de nodos.
    2. Especifica el número de nodos de trabajador 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 ajustes:

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

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

API

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

  1. Crea un Cluster recurso personalizado y guárdalo como un archivo YAML, como 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
    

    Haz los cambios siguientes:

    • CLUSTER_NAME: el nombre del clúster. El nombre del clúster no puede terminar con -system. El sufijo -system está reservado para los clústeres creados por GDC.
    • POD_CIDR: tamaño de los intervalos de red desde los que se asignan las direcciones IP virtuales de los pods. Si no se define, se usa el valor predeterminado 21.
    • SERVICE_CIDR: tamaño de los intervalos de red desde los que se asignan las direcciones IP virtuales de servicio. Si no se define, se usa el valor predeterminado 23.
    • KUBERNETES_VERSION: la versión de Kubernetes del clúster, como 1.26.5-gke.2100. Para ver la lista de versiones de Kubernetes disponibles que se pueden configurar, consulta Listar las versiones de Kubernetes disponibles de un clúster.
    • LOAD_BALANCER_POOL_SIZE: tamaño de los grupos de direcciones IP no superpuestos que usan los servicios de balanceador de carga. Si no se define, se usa el valor predeterminado 20.
    • MACHINE_TYPE: el tipo de máquina de los nodos de trabajador del grupo de nodos. Consulta los tipos de máquinas disponibles para ver qué se puede configurar.
    • NODE_POOL_NAME: el nombre del grupo de nodos.
    • NUMBER_OF_WORKER_NODES: número de nodos de trabajo que se aprovisionarán en el grupo de nodos.
    • TAINTS: los taints que se aplicarán a los nodos de este grupo de nodos. Este campo es opcional.
    • LABELS: 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
    

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

Lista de versiones de Kubernetes disponibles para un clúster

Puedes consultar 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

Sustituye ADMIN_CLUSTER_KUBECONFIG por la ruta del 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

Admitir recursos de GPU en un clúster de usuarios

GDC proporciona compatibilidad con unidades de procesamiento gráfico (GPU) de NVIDIA para clústeres de usuarios, que ejecutan tus dispositivos de GPU como cargas de trabajo de usuario. La compatibilidad con GPU está habilitada de forma predeterminada en los clústeres que tienen máquinas con GPU aprovisionadas. Asegúrate de que tu clúster de usuarios sea compatible con dispositivos de GPU antes de usar Deep Learning Containers. Por ejemplo, si tienes previsto ejecutar contenedores de aprendizaje profundo, asegúrate de crear un clúster de usuarios 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 forma que admita cargas de trabajo de GPU en sus contenedores asociados. Para obtener más información, consulta Crear un clúster de usuarios.

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