Criar um cluster para executar cargas de trabalho de contêiner

Crie um cluster de usuário para permitir a implantação de carga de trabalho de contêiner.

Antes de começar

Para receber as permissões necessárias para criar um cluster de usuário, peça ao administrador do IAM da organização para conceder a você o papel de administrador do cluster de usuário (papel user-cluster-admin).

Criar um cluster de usuário

Para receber as permissões necessárias para criar um cluster de usuário, peça ao administrador do IAM para conceder a você o papel de administrador do cluster de usuário (papel user-cluster-admin).

Siga estas etapas para criar um cluster de usuário:

Console

  1. No menu de navegação, selecione Clusters.

  2. Clique em Criar cluster.

  3. No campo Nome, especifique um nome para o cluster de usuário.

  4. Selecione a versão do cluster do GDC. Cada versão é mapeada para uma versão diferente do Kubernetes.

  5. Clique em Próxima.

  6. Configure as definições de rede do cluster. Não é possível mudar essas configurações de rede depois de criar o cluster. O protocolo de Internet padrão e único compatível com clusters de usuários é o protocolo de Internet versão 4 (IPv4).

    1. Se você quiser criar nós de balanceador de carga dedicados, insira o número de nós a serem criados. Por padrão, você recebe zero nós, e o tráfego do balanceador de carga é executado pelos nós de controle.

    2. Selecione o CIDR de serviço (roteamento entre domínios sem classe) a ser usado. Seus serviços implantados, como balanceadores de carga, recebem endereços IP desse intervalo.

    3. Selecione o CIDR do pod a ser usado. O cluster aloca endereços IP desse intervalo para seus pods e VMs.

    4. Clique em Próxima.

  7. Revise os detalhes do pool de nós padrão gerado automaticamente para o cluster de usuário. Clique em Editar para modificar o pool de nós padrão.

  8. Para criar outros pools de nós, selecione Adicionar pool de nós. Ao editar o pool de nós padrão ou adicionar um novo, personalize-o com as seguintes opções:

    1. Atribua um nome ao pool de nós. Não é possível modificar o nome depois de criar o pool de nós.
    2. Especifique o número de nós de trabalho a serem criados no pool de nós.
    3. Selecione a classe de máquina mais adequada para os requisitos da sua carga de trabalho. Confira a lista das seguintes configurações:

      • Tipo de máquina
      • CPU
      • Memória
    4. Clique em Salvar.

  9. Clique em Criar para criar o cluster de usuário.

API

Para criar um cluster de usuário usando a API diretamente, aplique um recurso personalizado à sua instância do GDC:

  1. Crie um recurso personalizado Cluster e salve-o como um arquivo 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
    

    Substitua:

    • CLUSTER_NAME: o nome do cluster. O nome do cluster não pode terminar com -system. O sufixo -system é reservado para clusters criados pelo GDC.
    • POD_CIDR: o tamanho dos intervalos de rede de que os endereços IP virtuais do pod são alocados. Se não for definido, um valor padrão 21 será usado.
    • SERVICE_CIDR: o tamanho dos intervalos de rede de que os endereços IP virtuais de serviço são alocados. Se não for definido, um valor padrão 23 será usado.
    • KUBERNETES_VERSION: a versão do Kubernetes do cluster, como 1.26.5-gke.2100. Para listar as versões disponíveis do Kubernetes para configuração, consulte Listar as versões disponíveis do Kubernetes para um cluster.
    • LOAD_BALANCER_POOL_SIZE: o tamanho dos pools de endereços IP não sobrepostos usados pelos serviços de balanceador de carga. Se não for definido, um valor padrão 20 será usado.
    • MACHINE_TYPE: o tipo de máquina para os nós de trabalho do pool de nós. Consulte os tipos de máquina disponíveis para saber o que pode ser configurado.
    • NODE_POOL_NAME: o nome do pool de nós.
    • NUMBER_OF_WORKER_NODES: o número de nós de trabalho a serem provisionados no pool de nós.
    • TAINTS: os taints a serem aplicados aos nós deste pool de nós. Esse campo é opcional.
    • LABELS: os rótulos a serem aplicados aos nós deste pool de nós. Ele contém uma lista de pares de chave-valor. Esse campo é opcional.
  2. Aplique o recurso personalizado à sua instância do GDC:

    kubectl apply -f cluster.yaml --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    

    Substitua ADMIN_CLUSTER_KUBECONFIG pelo caminho do arquivo kubeconfig do cluster de administrador da organização.

Listar as versões disponíveis do Kubernetes para um cluster

É possível listar as versões disponíveis do Kubernetes na sua instância do GDC usando a CLI kubectl:

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

Substitua ADMIN_CLUSTER_KUBECONFIG pelo caminho do arquivo kubeconfig do cluster de administrador.

A saída será assim:

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

Suporte a recursos de GPU em um cluster de usuário

O GDC oferece suporte a unidades de processamento gráfico (GPUs) da NVIDIA para clusters de usuários, que executam os dispositivos de GPU como cargas de trabalho do usuário. O suporte a GPU é ativado por padrão para clusters que têm máquinas de GPU provisionadas. Verifique se o cluster de usuário aceita dispositivos de GPU antes de usar os Deep Learning Containers. Por exemplo, se você pretende executar Deep Learning Containers, crie um cluster de usuário com pelo menos um nó de GPU.

Os clusters de usuário podem ser criados usando o console ou a API do GDC diretamente. Provisione máquinas de GPU para que o cluster de usuário seja compatível com cargas de trabalho de GPU nos contêineres associados. Para mais informações, consulte Criar um cluster de usuário.

Placas de GPU NVIDIA compatíveis

Os clusters do GDC são compatíveis com a GPU NVIDIA A100 PCIe de 80 GB. Para ativar esse suporte, provisione o tipo de máquina a2-ultragpu-1g-gdc em um cluster de usuário.