Como consumir recursos por zona reservados


Você pode reservar instâncias do Compute Engine em uma zona específica para garantir que os recursos estejam disponíveis para as cargas de trabalho deles conforme a necessidade. Para mais detalhes sobre como gerenciar reservas, consulte Como reservar recursos por zona do Compute Engine.

Depois de criar reservas, é possível consumir os recursos reservados no GKE. O GKE é compatível com os mesmos modos de consumo do Compute Engine:

  • Consumo de recursos de qualquer reserva: somente padrão
  • Como consumir recursos de uma reserva específica: Standard e Autopilot
  • Como criar nós sem consumir nenhuma reserva: Standard e Autopilot

Antes de começar

Antes de começar, verifique se você realizou as tarefas a seguir:

  • Ativar a API Google Kubernetes Engine.
  • Ativar a API Google Kubernetes Engine
  • Se você quiser usar a Google Cloud CLI para essa tarefa, instale e, em seguida, inicialize a CLI gcloud. Se você instalou a CLI gcloud anteriormente, instale a versão mais recente executando gcloud components update.

Consumir reservas de capacidade em clusters do Autopilot

Com os clusters Autopilot, é possível consumir recursos de reservas de capacidade do Compute Engine no mesmo projeto ou em um projeto compartilhado. Defina a property do tipo de consumo da reserva de destino como específico e selecione essa reserva explicitamente no manifesto. Se você não especificar explicitamente uma reserva, os clusters Autopilot não consumirão as reservas. Para saber mais sobre os tipos de consumo de reservas, consulte Como funcionam as reservas.

Essas reservas se qualificam para os descontos por compromisso de uso flexíveis do Compute. Use a classe de computação Accelerator ou Performance para consumir reservas de capacidade.

  • Antes de começar, crie um cluster do Autopilot executando as seguintes versões:

    • Para consumir aceleradores reservados usando a classe de computação Accelerator: 1.28.6-gke.1095000 ou posterior
    • Para usar a classe de computação de desempenho: 1.28.6-gke.1369000 e posterior ou versão 1.29.1-gke.1575000 e posterior.

Criar reservas de capacidade para o Autopilot

Os pods do Autopilot podem consumir reservas com a property do tipo de consumo específico no mesmo projeto que o cluster ou em uma reserva compartilhada de um projeto diferente. Para consumir o hardware reservado, faça referência explícita a essa reserva no manifesto. É possível consumir reservas no Autopilot para os seguintes tipos de hardware:

  • Qualquer um dos seguintes tipos de GPU:
    • nvidia-h100-80gb: NVIDIA H100 (80 GB) (disponível apenas com a classe de computação Accelerator)
    • nvidia-a100-80gb: NVIDIA A100 (80GB)
    • nvidia-tesla-a100: NVIDIA A100 (40GB)
    • nvidia-l4: NVIDIA L4
    • nvidia-tesla-t4: NVIDIA T4

Para criar uma reserva de capacidade, consulte os recursos a seguir. O bloco precisa atender aos seguintes requisitos:

  • Os tipos de máquina, tipos de acelerador e quantidades de acelerador correspondem ao que suas cargas de trabalho consumirão.
  • A reserva usa o tipo de consumo específico. Por exemplo, na gcloud CLI, é necessário especificar a flag --require-specific-reservation ao criar a reserva.

  • Criar uma reserva para um único projeto

  • Criar uma reserva compartilhada

Consumir uma reserva específica no mesmo projeto no Autopilot

Nesta seção, mostramos como consumir uma reserva de capacidade específica que está no mesmo projeto que seu cluster. É possível usar o kubectl ou o Terraform.

kubectl

  1. Salve o seguinte manifesto specific-autopilot.yaml como : Esse manifesto tem seletores de nós que consomem uma reserva específica. É possível usar instâncias de VM ou aceleradores.

    Instâncias de VM

      apiVersion: v1
      kind: Pod
      metadata:
        name: specific-same-project-pod
      spec:
        nodeSelector:
          cloud.google.com/compute-class: Performance
          cloud.google.com/machine-family: MACHINE_SERIES
          cloud.google.com/reservation-name: RESERVATION_NAME
          cloud.google.com/reservation-affinity: "specific"
        containers:
        - name: my-container
          image: "k8s.gcr.io/pause"
          resources:
            requests:
              cpu: 12
              memory: "50Gi"
              ephemeral-storage: "200Gi"
    

    Substitua:

    • MACHINE_SERIES: uma série de máquinas que contém o tipo de máquina das VMs na sua reserva de capacidade específica. Por exemplo, se a reserva for para tipos de máquina c3-standard-4, especifique C3 no campo MACHINE_SERIES.
    • RESERVATION_NAME: o nome da reserva de capacidade do Compute Engine.

    Aceleradores

      apiVersion: v1
      kind: Pod
      metadata:
        name: specific-same-project-pod
      spec:
        nodeSelector:
          cloud.google.com/gke-accelerator: ACCELERATOR
          cloud.google.com/reservation-name: RESERVATION_NAME
          cloud.google.com/reservation-affinity: "specific"
        containers:
        - name: my-container
          image: "k8s.gcr.io/pause"
          resources:
            requests:
              cpu: 12
              memory: "50Gi"
              ephemeral-storage: "200Gi"
            limits:
              nvidia.com/gpu: QUANTITY
    

    Substitua:

    • ACCELERATOR: o acelerador que você reservou na reserva de capacidade do Compute Engine. Precisa ser um dos valores abaixo:
      • nvidia-h100-80gb: NVIDIA H100 (80 GB) (disponível apenas com a classe de computação Accelerator)
      • nvidia-a100-80gb: NVIDIA A100 (80GB)
      • nvidia-tesla-a100: NVIDIA A100 (40GB)
      • nvidia-l4: NVIDIA L4
      • nvidia-tesla-t4: NVIDIA T4
    • RESERVATION_NAME: o nome da reserva de capacidade do Compute Engine.
    • QUANTITY: o número de GPUs a serem anexadas ao contêiner. Precisa ser uma quantidade compatível com a GPU especificada, conforme descrito em Quantidades de GPUs compatíveis.
  2. Implante o pod:

    kubectl apply -f specific-autopilot.yaml
    

O Autopilot usa a capacidade reservada na reserva especificada para provisionar um novo nó e posicionar o pod.

Terraform

Para consumir uma reserva específica no mesmo projeto com instâncias de VM usando o Terraform, consulte o exemplo a seguir:

resource "kubernetes_pod_v1" "default_pod" {
  metadata {
    name = "specific-same-project-pod"
  }

  spec {
    node_selector = {
      "cloud.google.com/compute-class"        = "Performance"
      "cloud.google.com/machine-family"       = "c3"
      "cloud.google.com/reservation-name"     = google_compute_reservation.specific_pod.name
      "cloud.google.com/reservation-affinity" = "specific"
    }

    container {
      name  = "my-container"
      image = "registry.k8s.io/pause"

      resources {
        requests = {
          cpu               = 2
          memory            = "8Gi"
          ephemeral-storage = "1Gi"
        }
      }

      security_context {
        allow_privilege_escalation = false
        run_as_non_root            = false

        capabilities {
          add  = []
          drop = ["NET_RAW"]
        }
      }
    }

    security_context {
      run_as_non_root     = false
      supplemental_groups = []

      seccomp_profile {
        type = "RuntimeDefault"
      }
    }
  }

  depends_on = [
    google_compute_reservation.specific_pod
  ]
}

Para consumir uma reserva específica no mesmo projeto com a classe de computação do acelerador usando o Terraform, consulte o exemplo a seguir:

resource "kubernetes_pod_v1" "default_accelerator" {
  metadata {
    name = "specific-same-project-accelerator"
  }

  spec {
    node_selector = {
      "cloud.google.com/compute-class"        = "Accelerator"
      "cloud.google.com/gke-accelerator"      = "nvidia-l4"
      "cloud.google.com/reservation-name"     = google_compute_reservation.specific_accelerator.name
      "cloud.google.com/reservation-affinity" = "specific"
    }

    container {
      name  = "my-container"
      image = "registry.k8s.io/pause"

      resources {
        requests = {
          cpu               = 2
          memory            = "7Gi"
          ephemeral-storage = "1Gi"
          "nvidia.com/gpu"  = 1

        }
        limits = {
          "nvidia.com/gpu" = 1
        }
      }

      security_context {
        allow_privilege_escalation = false
        run_as_non_root            = false

        capabilities {
          add  = []
          drop = ["NET_RAW"]
        }
      }
    }

    security_context {
      run_as_non_root     = false
      supplemental_groups = []

      seccomp_profile {
        type = "RuntimeDefault"
      }
    }
  }

  depends_on = [
    google_compute_reservation.specific_accelerator
  ]
}

Para saber mais como usar o Terraform, consulte o Suporte do Terraform para GKE.

Consumir uma reserva compartilhada específica no Autopilot

Nesta seção, usamos os seguintes termos:

  • Projeto de proprietário: o projeto que é proprietário da reserva e que a compartilha com outros projetos.
  • Projeto do consumidor: o projeto que executa as cargas de trabalho que consomem a reserva compartilhada.

Para consumir uma reserva compartilhada, você precisa conceder ao agente de serviço do GKE acesso à reserva no projeto que é proprietário dela. Faça o seguinte:

  1. Crie um papel personalizado do IAM que contenha a permissão compute.reservations.list no projeto de proprietário:

    gcloud iam roles create ROLE_NAME \
        --project=OWNER_PROJECT_ID \
        --permissions='compute.reservations.list'
    

    Substitua:

    • ROLE_NAME: um nome para a nova função.
    • OWNER_PROJECT_ID: o ID do projeto que tem a reserva de capacidade.
  2. Conceda ao agente de serviço do GKE no projeto consumidor acesso para listar reservas compartilhadas no projeto proprietário:

    gcloud projects add-iam-policy-binding OWNER_PROJECT_ID \
        --project=OWNER_PROJECT_ID \
        --member=serviceAccount:service-CONSUMER_PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com \
        --role='projects/OWNER_PROJECT_ID/roles/ROLE_NAME'
    

    Substitua CONSUMER_PROJECT_NUMBER pelo número de projeto numérico do seu projeto de consumidor. Para encontrar esse número, consulte Como identificar projetos na documentação do Resource Manager.

  3. Salve o seguinte manifesto shared-autopilot.yaml como : Esse manifesto tem nodeSelectors que instruem o GKE a consumir uma reserva compartilhada específica.

    Instâncias de VM

    apiVersion: v1
    kind: Pod
    metadata:
      name: performance-pod
    spec:
      nodeSelector:
        cloud.google.com/compute-class: Performance
        cloud.google.com/machine-family: MACHINE_SERIES
        cloud.google.com/reservation-name: RESERVATION_NAME
        cloud.google.com/reservation-project: OWNER_PROJECT_ID
        cloud.google.com/reservation-affinity: "specific"
      containers:
      - name: my-container
        image: "k8s.gcr.io/pause"
        resources:
          requests:
            cpu: 12
            memory: "50Gi"
            ephemeral-storage: "200Gi"
    

    Substitua:

    • MACHINE_SERIES: uma série de máquinas que contém o tipo de máquina das VMs na sua reserva de capacidade específica. Por exemplo, se a reserva for para tipos de máquina c3-standard-4, especifique C3 no campo MACHINE_SERIES.
    • RESERVATION_NAME: o nome da reserva de capacidade do Compute Engine.
    • OWNER_PROJECT_ID: o ID do projeto que tem a reserva de capacidade.

    Aceleradores

    apiVersion: v1
    kind: Pod
    metadata:
      name: specific-same-project-pod
    spec:
      nodeSelector:
        cloud.google.com/gke-accelerator: ACCELERATOR
        cloud.google.com/reservation-name: RESERVATION_NAME
        cloud.google.com/reservation-project: OWNER_PROJECT_ID
        cloud.google.com/reservation-affinity: "specific"
      containers:
      - name: my-container
        image: "k8s.gcr.io/pause"
        resources:
          requests:
            cpu: 12
            memory: "50Gi"
            ephemeral-storage: "200Gi"
          limits:
            nvidia.com/gpu: QUANTITY
    

    Substitua:

    • ACCELERATOR: o acelerador que você reservou na reserva de capacidade do Compute Engine. Precisa ser um dos valores abaixo:
      • nvidia-h100-80gb: NVIDIA H100 (80 GB) (disponível apenas com a classe de computação Accelerator)
      • nvidia-a100-80gb: NVIDIA A100 (80GB)
      • nvidia-tesla-a100: NVIDIA A100 (40GB)
      • nvidia-l4: NVIDIA L4
      • nvidia-tesla-t4: NVIDIA T4
    • RESERVATION_NAME: o nome da reserva de capacidade do Compute Engine.
    • OWNER_PROJECT_ID: o ID do projeto que tem a reserva de capacidade.
    • QUANTITY: o número de GPUs a serem anexadas ao contêiner. Precisa ser uma quantidade compatível com a GPU especificada, conforme descrito em Quantidades de GPUs compatíveis.
  4. Implante o pod:

    kubectl apply -f shared-autopilot.yaml
    

O Autopilot usa a capacidade reservada na reserva especificada para provisionar um novo nó e posicionar o pod.

Solução de problemas de consumo de reservas no Autopilot

  • Verifique se os tipos de máquina, tipos de acelerador, configurações de SSD local e quantidades de acelerador correspondem ao que suas cargas de trabalho consumirão. Para ver uma lista completa de properties que precisam de correspondência, consulte Properties de reserva de capacidade do Compute Engine.
  • Verifique se a reserva foi criada com afinidade específica.
  • Ao usar reservas compartilhadas, verifique se o agente de serviço do GKE no projeto consumidor tem permissão para listar reservas compartilhadas no projeto proprietário.

Como consumir instâncias reservadas no GKE Standard

Ao criar um cluster ou pool de nós, indique o modo de consumo de reserva especificando a sinalização --reservation-affinity.

Como consumir reservas correspondentes

É possível criar uma reserva e instâncias para consumir qualquer reserva usando a gcloud CLI ou o Terraform.

gcloud

Para consumir automaticamente qualquer reserva correspondente, defina a sinalização de afinidade de reserva como --reservation-affinity=any. Como any é o valor padrão definido no Compute Engine, é possível omitir completamente a flag de afinidade de reserva.

No modo de consumo de reserva any, os nós usam primeiro a capacidade de todas as reservas de projeto único antes das reservas compartilhadas, que estão mais disponíveis para outros projetos. Para saber como as instâncias são consumidas automaticamente, consulte a ordem de consumo.

  1. Crie uma reserva de três instâncias de VM:

    gcloud compute reservations create RESERVATION_NAME \
        --machine-type=MACHINE_TYPE --vm-count=3
    

    Substitua:

    • RESERVATION_NAME: o nome da reserva a ser criada.
    • MACHINE_TYPE: o tipo de máquina (somente nome) a ser usado para a reserva. Por exemplo, n1-standard-2.
  2. Verifique se a reserva foi criada corretamente:

    gcloud compute reservations describe RESERVATION_NAME
    
  3. Crie um cluster com um nó para consumir qualquer reserva correspondente:

    gcloud container clusters create CLUSTER_NAME \
        --machine-type=MACHINE_TYPE --num-nodes=1 \
        --reservation-affinity=any
    

    Substitua CLUSTER_NAME pelo nome do cluster a ser criado.

  4. Crie um pool de nós com três nós para consumir qualquer reserva correspondente:

    gcloud container node-pools create NODEPOOL_NAME \
        --cluster CLUSTER_NAME --num-nodes=3 \
        --machine-type=MACHINE_TYPE --reservation-affinity=any
    

    Substitua NODEPOOL_NAME pelo nome do pool de nós a ser criado.

O número total de nós é quatro, o que excede a capacidade da reserva. Três dos nós consomem a reserva enquanto o último nó utiliza o pool geral de recursos do Compute Engine.

Terraform

Para criar uma reserva de três instâncias de VM usando o Terraform, consulte o exemplo a seguir:

resource "google_compute_reservation" "any_reservation" {
  name = "any-reservation"
  zone = "us-central1-a"

  specific_reservation {
    count = 3

    instance_properties {
      machine_type = "e2-medium"
    }
  }
}

Para criar um cluster com um nó para consumir qualquer reserva correspondente usando o Terraform, consulte o exemplo a seguir:

resource "google_container_cluster" "default" {
  name     = "gke-standard-zonal-cluster"
  location = "us-central1-a"

  initial_node_count = 1

  node_config {
    machine_type = "e2-medium"

    reservation_affinity {
      consume_reservation_type = "ANY_RESERVATION"
    }
  }

  depends_on = [
    google_compute_reservation.any_reservation
  ]

  # Set `deletion_protection` to `true` will ensure that one cannot
  # accidentally delete this instance by use of Terraform.
  deletion_protection = false
}

Para criar um pool de nós com três nós para consumir qualquer reserva correspondente usando o Terraform, consulte o exemplo a seguir:

resource "google_container_node_pool" "any_node_pool" {
  name     = "gke-standard-zonal-any-node-pool"
  cluster  = google_container_cluster.default.name
  location = google_container_cluster.default.location

  initial_node_count = 3
  node_config {
    machine_type = "e2-medium"

    reservation_affinity {
      consume_reservation_type = "ANY_RESERVATION"
    }
  }
}

Para saber mais como usar o Terraform, consulte o Suporte do Terraform para GKE.

Como consumir uma reserva específica de projeto único

Para consumir uma reserva específica, defina a sinalização de afinidade de reserva como --reservation-affinity=specific e informe o nome dessa reserva. Nesse modo, as instâncias precisam usar a capacidade da reserva especificada na zona. A solicitação gerará uma falha se a reserva não tiver capacidade suficiente.

Se quiser criar uma reserva e instâncias para consumir uma reserva específica, siga as etapas abaixo. É possível usar a gcloud CLI ou o Terraform.

gcloud

  1. Crie uma reserva específica de três instâncias de VM:

    gcloud compute reservations create RESERVATION_NAME \
        --machine-type=MACHINE_TYPE --vm-count=3 \
        --require-specific-reservation
    

    Substitua:

    • RESERVATION_NAME: o nome da reserva a ser criada.
    • MACHINE_TYPE: o tipo de máquina (somente nome) a ser usado para a reserva. Por exemplo, n1-standard-2.
  2. Crie um pool de nós com um único nó para consumir uma reserva específica de um único projeto:

    gcloud container node-pools create NODEPOOL_NAME \
        --cluster CLUSTER_NAME \
        --machine-type=MACHINE_TYPE --num-nodes=1 \
        --reservation-affinity=specific --reservation=RESERVATION_NAME
    

    Substitua:

    • NODEPOOL_NAME: o nome do pool de nós a ser criado.
    • CLUSTER_NAME: o nome do cluster que você criou.

Terraform

Para criar uma reserva específica usando o Terraform, consulte o exemplo a seguir:

resource "google_compute_reservation" "specific_reservation" {
  name = "specific-reservation"
  zone = "us-central1-a"

  specific_reservation {
    count = 1

    instance_properties {
      machine_type = "e2-medium"
    }
  }

  specific_reservation_required = true
}

Para criar um pool de nós com um único nó para consumir uma reserva específica de um único projeto usando o Terraform, consulte o exemplo a seguir:

resource "google_container_node_pool" "specific_node_pool" {
  name     = "gke-standard-zonal-specific-node-pool"
  cluster  = google_container_cluster.default.name
  location = google_container_cluster.default.location

  initial_node_count = 1
  node_config {
    machine_type = "e2-medium"

    reservation_affinity {
      consume_reservation_type = "SPECIFIC_RESERVATION"
      key                      = "compute.googleapis.com/reservation-name"
      values                   = [google_compute_reservation.specific_reservation.name]
    }
  }

  depends_on = [
    google_compute_reservation.specific_reservation
  ]
}

Para saber mais como usar o Terraform, consulte o Suporte do Terraform para GKE.

Como consumir uma reserva compartilhada específica

Para criar uma reserva compartilhada específica e consumi-la, siga as etapas abaixo. É possível usar a gcloud CLI ou o Terraform.

  1. Siga as etapas em Como permitir e restringir projetos de criar e modificar reservas compartilhadas.

gcloud

  1. Crie uma reserva compartilhada específica:

    gcloud compute reservations create RESERVATION_NAME \
        --machine-type=MACHINE_TYPE --vm-count=3 \
        --zone=ZONE \
        --require-specific-reservation \
        --project=OWNER_PROJECT_ID \
        --share-setting=projects \
        --share-with=CONSUMER_PROJECT_IDS
    

    Substitua:

    • RESERVATION_NAME: o nome da reserva a ser criada.
    • MACHINE_TYPE: o nome do tipo de máquina a ser usado para a reserva. Por exemplo, n1-standard-2.
    • OWNER_PROJECT_ID: o ID do projeto para o qual essa reserva compartilhada será criada. Se você omitir a flag --project, o GKE usará o projeto atual como proprietário por padrão.
    • CONSUMER_PROJECT_IDS: uma lista separada por vírgulas dos IDs dos projetos com os quais você quer compartilhar essa reserva. Por exemplo, project-1,project-2. É possível incluir de 1 a 100 projetos de consumidor. Esses projetos precisam estar na mesma organização do projeto de proprietário. Não inclua o OWNER_PROJECT_ID, porque ele pode consumir essa reserva por padrão.
  2. Consumir a reserva compartilhada:

      gcloud container node-pools create NODEPOOL_NAME \
          --cluster CLUSTER_NAME \
          --machine-type=MACHINE_TYPE --num-nodes=1 \
          --reservation-affinity=specific \
          --reservation=projects/OWNER_PROJECT_ID/reservations/RESERVATION_NAME
    

    Substitua:

    • NODEPOOL_NAME: o nome do pool de nós a ser criado.
    • CLUSTER_NAME: o nome do cluster que você criou.

Terraform

Para criar uma reserva compartilhada específica usando o Terraform, consulte o exemplo a seguir:

resource "google_compute_reservation" "specific_reservation" {
  name = "specific-reservation"
  zone = "us-central1-a"

  specific_reservation {
    count = 1

    instance_properties {
      machine_type = "e2-medium"
    }
  }

  specific_reservation_required = true
}

Para consumir a reserva compartilhada específica usando o Terraform, consulte o exemplo a seguir:

resource "google_container_node_pool" "specific_node_pool" {
  name     = "gke-standard-zonal-specific-node-pool"
  cluster  = google_container_cluster.default.name
  location = google_container_cluster.default.location

  initial_node_count = 1
  node_config {
    machine_type = "e2-medium"

    reservation_affinity {
      consume_reservation_type = "SPECIFIC_RESERVATION"
      key                      = "compute.googleapis.com/reservation-name"
      values                   = [google_compute_reservation.specific_reservation.name]
    }
  }

  depends_on = [
    google_compute_reservation.specific_reservation
  ]
}

Para saber mais como usar o Terraform, consulte o Suporte do Terraform para GKE.

Outras considerações sobre o consumo de uma reserva específica

Quando um pool de nós é criado com uma afinidade específica de reserva, incluindo pools padrão na criação do cluster, o tamanho dele é limitado à capacidade da reserva específica durante todo o ciclo de vida do pool. Isso afeta os seguintes recursos do GKE:

  • Cluster com várias zonas: em clusters regionais ou de várias zonas, os nós de um pool podem se estender por várias zonas. Como as reservas são exclusivas de uma zona, é necessário ter várias reservas. Para ter um pool de nós que consuma a reserva desses clusters, crie uma reserva específica com exatamente os mesmos nome e propriedades de máquina em cada zona do pool.
  • Upgrade automático de clusters e upgrades de pools de nós: se você não tiver capacidade extra na reserva específica, os upgrades de pools de nós ou o escalonamento automático do pool de nós poderão falhar porque as duas operações exigem criação de outras instâncias. Para resolver isso, altere o tamanho da reserva ou libere alguns dos seus recursos limitados.

Como criar nós sem consumir reservas

Para evitar expressamente o consumo de recursos de qualquer reserva, defina a afinidade como --reservation-affinity=none.

  1. Crie um cluster que não consuma nenhuma reserva:

    gcloud container clusters create CLUSTER_NAME --reservation-affinity=none
    

    Substitua CLUSTER_NAME pelo nome do cluster a ser criado.

  2. Crie um pool de nós que não consuma nenhuma reserva:

    gcloud container node-pools create NODEPOOL_NAME \
        --cluster CLUSTER_NAME \
        --reservation-affinity=none
    

    Substitua NODEPOOL_NAME pelo nome do pool de nós a ser criado.

Como seguir reservas disponíveis entre zonas

Ao usar pools de nós em execução em várias zonas com reservas que não sejam iguais entre zonas, use a sinalização --location_policy=ANY. Isso garante que, quando novos nós forem adicionados ao cluster, eles sejam criados na zona que ainda tem reservas não utilizadas.

Reserva da TPU

As reservas de TPU são diferentes de outros tipos de máquina. Confira a seguir os aspectos específicos da TPU que precisam ser considerados ao criar reservas de TPU:

  • Ao usar TPUs no GKE, SPECIFIC é o único valor compatível com a flag --reservation-affinity de gcloud container node-pools create.
  • As reservas de TPU não podem ser compartilhadas entre projetos.

Para mais informações, consulte Reservas da TPU.

Limpeza

Para evitar cobranças dos recursos usados nesta página na conta do Google Billing, siga estas etapas:

  1. Exclua os clusters criados executando o seguinte comando para cada um dos clusters:

    gcloud container clusters delete CLUSTER_NAME
    
  2. Exclua as reservas criadas executando o seguinte comando para cada uma das reservas:

    gcloud compute reservations delete RESERVATION_NAME
    

A seguir