Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Gerencie o componente de compartilhamento de GPU

Última atualização: Nov 03, 2026

O Container Service for Kubernetes (ACK) oferece recursos de compartilhamento e agendamento de GPU para cenários de inferência de modelos que compartilham uma única GPU. Ele também aplica o isolamento de memória da GPU no modo kernel do driver da NVIDIA. Atualize o componente quando o driver da GPU ou o sistema operacional de um nó for incompatível com a versão do cGPU instalada, mantendo assim o agendamento e o isolamento de GPU nos seus nós.

Pré-requisitos

  • Antes de usar o compartilhamento de GPU, ative o {{XREF_0}}. Para obter detalhes sobre faturamento, consulte {{XREF_1}}.

  • Para ver observações sobre o uso do cGPU, consulte {{XREF_2}}.

  • Um {{XREF_3}} foi criado e a arquitetura do tipo de instância está definida como servidor em nuvem com GPU.

Limitações

  • O recurso de isolamento de memória do cGPU é compatível apenas com nós do Alibaba Cloud Elastic Compute Service (ECS). Não adicione o rótulo ack.node.gpu.schedule=cgpu ou ack.node.gpu.schedule=core_mem a nós que não sejam do Alibaba Cloud ECS.

  • Não defina a política de CPU como static para nós que usam compartilhamento de GPU.

  • Caso precise especificar um caminho personalizado para o arquivo KubeConfig, execute o comando export KUBECONFIG=<kubeconfig>. O comando kubectl inspect cgpu não é compatível com o parâmetro --kubeconfig.

  • Como o isolamento do cGPU não é compatível com a Unified Virtual Memory (UVM), você não pode chamar cudaMallocManaged() para alocar memória da GPU. Em vez disso, chame cudaMalloc(). Para mais informações, consulte a documentação da NVIDIA.

  • Os pods do DaemonSet de compartilhamento de GPU não têm a prioridade mais alta em um nó, portanto, outros pods com prioridade maior podem preemptar seus recursos e causar a evicção. Para evitar isso, modifique o DaemonSet em uso, como o gpushare-device-plugin-ds para memória de GPU compartilhada, e adicione priorityClassName: system-node-critical para garantir alta prioridade.

  • Por motivos de desempenho, uma única placa de GPU aceita no máximo 20 pods ao usar o cGPU. Se esse limite for excedido, os pods subsequentes agendados para essa placa não serão executados e retornarão a mensagem de erro Error occurs when creating cGPU instance: unknown.

    Para impedir que o agendador continue agendando pods do cGPU em nós onde uma única placa já atingiu o limite de 20 pods, execute o comando a seguir para adicionar um rótulo ao nó:

    NAME                       IPADDRESS      GPU0(Allocated/Total)  GPU Memory(GiB)
    cn-shanghai.192.168.6.104  192.168.6.104  0/15                   0/15
    ----------------------------------------------------------------------
    Allocated/Total GPU Memory In Cluster:
    0/15 (0%)

    O valor 20 é fixo e não pode ser alterado para outros valores.

  • O componente de compartilhamento de GPU pode ser instalado em qualquer região. No entanto, o recurso de isolamento de memória da GPU está disponível apenas nas regiões a seguir. Certifique-se de que seu cluster esteja em uma dessas regiões.

    Regiões

    Região

    ID da região

    China (Beijing)

    cn-beijing

    China (Shanghai)

    cn-shanghai

    China (Hangzhou)

    cn-hangzhou

    China (Zhangjiakou)

    cn-zhangjiakou

    China (Wulanchabu)

    cn-wulanchabu

    China (Shenzhen)

    cn-shenzhen

    China (Chengdu)

    cn-chengdu

    China (Heyuan)

    cn-heyuan

    China (Hong Kong)

    cn-hongkong

    Japan (Tokyo)

    ap-northeast-1

    Indonesia (Jakarta)

    ap-southeast-5

    Singapore

    ap-southeast-1

    US (Virginia)

    us-east-1

    US (Silicon Valley)

    us-west-1

    Germany (Frankfurt)

    eu-central-1

  • Compatibilidade de versões.

    Item

    Versões compatíveis

    Versão do Kubernetes

    • As versões do {{XREF_4}} anteriores à 1.12.0 são compatíveis com clusters que executam o Kubernetes 1.18.8 ou posterior.

    • O {{XREF_5}} 1.12.0 ou posterior é compatível apenas com clusters que executam o Kubernetes 1.20 ou posterior.

    Versão do driver NVIDIA

    418.87.01 ou posterior

    Versão do runtime de contêineres

    • Docker: 19.03.5 ou posterior

    • containerd: 1.4.3 ou posterior

    Sistema operacional

    Alibaba Cloud Linux 3.x (a edição otimizada para contêineres requer o {{XREF_6}} v1.12.6 ou posterior), Alibaba Cloud Linux 2.x, CentOS 7.6, CentOS 7.7, CentOS 7.9, Ubuntu 22.04

    GPUs compatíveis

    Séries P, T, V, A e H

Instale o componente de compartilhamento de GPU

Etapa 1: Instale o componente de compartilhamento de GPU

Cloud-native AI Suite não implantado

  1. Faça login no ACK console. No painel de navegação à esquerda, clique em Clusters.

  2. Na página Clusters, clique no nome do seu cluster. No painel de navegação à esquerda, clique em Applications > Cloud-native AI Suite.

  3. Na página Cloud-native AI Suite, clique em Deploy.

  4. Na página de implantação do Cloud-native AI Suite, selecione Scheduling Policy Extension (Batch Task Scheduling, GPU Sharing, Topology-aware GPU Scheduling).

  5. (Opcional) Para personalizar a política do cGPU, clique em Advanced à direita de Scheduling Policy Extension (Batch Task Scheduling, GPU Sharing, Topology-aware GPU Scheduling). Na caixa de diálogo Scheduling Policy Extension (Batch Task Scheduling, GPU Sharing, Topology-aware GPU Scheduling), modifique o campo policy para cGPU e clique em Parameters.

    Se você não tiver requisitos especiais para o compartilhamento de poder de computação do cGPU, a configuração recomendada é o padrão policy: 5 (agendamento nativo). Para mais informações sobre as políticas do cGPU, consulte {{XREF_7}}.

  6. Na parte inferior da página OK, clique em Cloud-native AI Suite.

    Após a instalação, o componente ack-ai-installer aparece na lista de componentes na página Deploy Cloud-native AI Suite.

Cloud-native AI Suite implantado

  1. Faça login no ACK console. No painel de navegação à esquerda, clique em Components.

  2. Na página Clusters, clique no nome do seu cluster. No painel de navegação à esquerda, clique em Applications > Cloud-native AI Suite.

  3. Localize o componente ack-ai-installer e clique em Deploy na coluna Actions.

  4. (Opcional) Na caixa de diálogo Parameters exibida, modifique o campo policy para cGPU.

    Se você não tiver requisitos especiais para o compartilhamento de poder de computação do cGPU, a configuração recomendada é o padrão policy: 5 (agendamento nativo). Para mais informações sobre as políticas do cGPU, consulte {{XREF_8}}.

  5. Após terminar de modificar os parâmetros, clique em OK.

    Após a instalação do componente, o Status do ack-ai-installer muda para Deployed.

Etapa 2: Ative o compartilhamento, o agendamento e o isolamento de memória da GPU

  1. Na página Clusters, clique no nome do seu cluster. No painel de navegação à esquerda, clique em Nodes > Node Pools.

  2. Na página Node Pools, clique em Create Node Pool. Configure os parâmetros conforme descrito em {{XREF_9}}.

  3. Na página Create Node Pool, configure os parâmetros do pool de nós e clique em Confirm. A tabela a seguir descreve os principais parâmetros.

    Parâmetro

    Descrição

    Número esperado de nós

    Insira o número inicial de nós para o pool de nós. Use 0 se nenhum nó for necessário inicialmente.

    Rótulos de nós

    Defina o valor do rótulo de acordo com os requisitos do seu negócio. Para mais informações sobre rótulos de nós, consulte {{XREF_10}}.

    Este exemplo usa o valor de rótulo cgpu. Esse valor ativa o compartilhamento de GPU no nó, onde cada pod precisa apenas solicitar recursos de memória da GPU. Vários pods em uma única placa de GPU compartilham poder de computação e têm memória isolada.

    Clique em Node Labels ao lado de Rótulos de nós. Defina a Key como ack.node.gpu.schedule e o Value como cgpu.

    Importante
    • Para ver observações sobre o uso do recurso de isolamento do cGPU, consulte {{XREF_11}}.

    • Após adicionar o rótulo de compartilhamento de GPU, não altere o rótulo de agendamento de GPU com o comando kubectl label nodes nem com o recurso de gerenciamento de rótulos na página Nodes. Alterar o rótulo dessa forma pode causar problemas potenciais. Para mais informações, consulte {{XREF_12}}. O método recomendado está descrito em {{XREF_13}}.

Etapa 3: Adicione nós de GPU

Se você já criou nós de GPU ao adicionar o pool de nós, pule esta etapa.

Após criar o pool de nós, adicione nós de GPU a ele. Ao fazer isso, certifique-se de que a arquitetura do tipo de instância esteja definida como servidor em nuvem com GPU. Para mais informações, consulte {{XREF_14}} ou {{XREF_15}}.

Etapa 4: Instale e use a ferramenta de consulta de GPU

  1. Baixe o executável kubectl-inspect-cgpu para um diretório no seu PATH, como /usr/local/bin/.

    • Se você estiver usando Linux:

      NAME                       IPADDRESS      GPU0(Allocated/Total)  GPU Memory(GiB)
      cn-shanghai.192.168.6.104  192.168.6.104  0/15                   0/15
      ----------------------------------------------------------------------
      Allocated/Total GPU Memory In Cluster:
      0/15 (0%)
    • Se você estiver usando macOS:

      NAME                       IPADDRESS      GPU0(Allocated/Total)  GPU Memory(GiB)
      cn-shanghai.192.168.6.104  192.168.6.104  0/15                   0/15
      ----------------------------------------------------------------------
      Allocated/Total GPU Memory In Cluster:
      0/15 (0%)
  2. Torne o arquivo executável:

    NAME                       IPADDRESS      GPU0(Allocated/Total)  GPU Memory(GiB)
    cn-shanghai.192.168.6.104  192.168.6.104  0/15                   0/15
    ----------------------------------------------------------------------
    Allocated/Total GPU Memory In Cluster:
    0/15 (0%)
  3. Verifique o uso da GPU no cluster:

    NAME                       IPADDRESS      GPU0(Allocated/Total)  GPU Memory(GiB)
    cn-shanghai.192.168.6.104  192.168.6.104  0/15                   0/15
    ----------------------------------------------------------------------
    Allocated/Total GPU Memory In Cluster:
    0/15 (0%)

    Saída esperada:

    NAME                       IPADDRESS      GPU0(Allocated/Total)  GPU Memory(GiB)
    cn-shanghai.192.168.6.104  192.168.6.104  0/15                   0/15
    ----------------------------------------------------------------------
    Allocated/Total GPU Memory In Cluster:
    0/15 (0%)

Atualize o componente de compartilhamento de GPU

Etapa 1: Determine o método de atualização

O método de atualização depende de como o componente ack-ai-installer foi instalado. Existem dois métodos de instalação:

  • Instalado por meio do Cloud-native AI Suite (Recomendado): O componente foi instalado a partir da página Components.

  • Instalado a partir do App Catalog (não está mais disponível): O componente ack-ai-installer foi instalado a partir da página App Catalog no Marketplace. Este método foi descontinuado, mas os componentes existentes instalados dessa forma ainda podem ser atualizados por ele.

    Importante

    Se você desinstalar um componente que foi instalado usando este método, será necessário ativar o Cloud-native AI Suite e concluir a instalação para reinstalá-lo.

Determine o método de instalação

  1. Faça login no ACK console. No painel de navegação à esquerda, clique em Clusters.

  2. Na página Clusters, clique no nome do seu cluster. No painel de navegação à esquerda, clique em Applications > Cloud-native AI Suite.

  3. Na página Components, verifique se o componente ack-ai-installer está implantado.

    Se o componente estiver implantado, ele foi instalado por meio da página Components. Caso contrário, foi instalado a partir do App Catalog.

Etapa 2: Atualize o componente

Atualização por meio do Cloud-native AI Suite

  1. Faça login no ACK console. No painel de navegação à esquerda, clique em Clusters.

  2. Na página Clusters, clique no nome do seu cluster. No painel de navegação à esquerda, clique em Applications > Cloud-native AI Suite.

  3. Na seção Components, localize o componente ack-ai-installer e clique em Upgrade na coluna Actions.

Atualização por meio do App Catalog

  1. Faça login no ACK console. No painel de navegação à esquerda, clique em Clusters.

  2. Na página Clusters, clique no nome do seu cluster. No painel de navegação à esquerda, clique em Clusters > Applications.

  3. Na página do Helm, localize o release ack-ai-installer. Na coluna Helm, clique em Actions. Siga as instruções para selecionar a versão mais recente do Chart e atualizar o componente.

    Importante

    Se precisar personalizar a configuração do Chart, confirme a atualização do componente após fazer as alterações.

    Após a atualização, verifique a página do Helm para confirmar se a versão do Chart do release ack-ai-installer é a mais recente.

Etapa 3: Atualize os nós existentes

A atualização do componente ack-ai-installer não atualiza automaticamente a versão do cGPU nos nós existentes. Use as informações a seguir para determinar se o recurso de isolamento do cGPU está ativado em seus nós.

  • Se o seu cluster contiver nós de GPU com o recurso de isolamento do cGPU ativado, você também precisará atualizar a versão do cGPU nesses nós. Para mais informações, consulte {{XREF_16}}.

  • Se o seu cluster não tiver nenhum nó com o recurso de isolamento do cGPU ativado, pule esta etapa.

    Nota
    • Se um nó tiver o rótulo ack.node.gpu.schedule=cgpu ou ack.node.gpu.schedule=core_mem, o recurso de isolamento do cGPU estará ativado.

    • Atualizar a versão do cGPU em nós existentes requer a parada de todos os pods de negócios nesses nós. Execute esta operação fora dos horários de pico para minimizar interrupções nos negócios.