Os nós do ACK exigem o módulo cGPU para oferecer suporte ao compartilhamento e ao agendamento de GPU. Este tópico descreve como atualizar o módulo cGPU em um nó usando o console do ACK e o kubectl.
Pré-requisitos
Antes de começar, verifique se você atende aos seguintes requisitos:
Um cluster ACK com nós GPU executando o cGPU
Acesso ao console do ACK
kubectlconfigurado para conectar-se ao clusterSe o disco do sistema do nó contiver dados, crie um backup antes de prosseguir.
Etapa 1: Atualizar o componente do cluster
O método de atualização varia conforme o tipo de cluster.
|
Console do ACKConsole do ACKTipo de cluster |
Componente |
Como atualizar |
|
ACK managed cluster Pro, ACK Edge cluster Pro |
ack-ai-installer |
Consulte Atualizar o componente de agendamento de GPU compartilhada |
|
ACK dedicated cluster |
ack-cgpu |
Siga as etapas abaixo |
Para atualizar o ack-cgpu em um ACK dedicated cluster:
Faça login no console do ACK. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique no nome do cluster que deseja atualizar. No painel de navegação à esquerda, escolha Applications > Helm.
Na página Helm, localize o componente ack-cgpu. Na coluna Actions, clique em Update, selecione uma Version e clique em OK.
Etapa 2: Atualizar os nós existentes
Antes de atualizar os nós, observe o seguinte:
Interrompa todas as aplicações de GPU no nó.
Atualize primeiro um único nó. Após confirmar que as aplicações de GPU funcionam conforme o esperado, atualize os demais nós GPU em lotes.
Este método redefine o disco do sistema do nó. Faça backup dos dados no disco do sistema antes de prosseguir.
Remover e readicionar o nó
Faça login no console do ACK. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique no nome do cluster. No painel de navegação à esquerda, escolha Nodes > Nodes.
Na página Nodes, selecione o nó cGPU a ser atualizado e clique em Batch Remove. Na caixa de diálogo Remove Node, selecione Drain Node.
-
Readicione o nó removido ao pool de nós original. Para mais informações, consulte Adicionar nós existentes a um cluster.
ImportanteSelecione o método de adição automática de nós. O nó não será redefinido se adicionado manualmente.
Verificar a atualização
Após readicionar o nó, execute os comandos a seguir para confirmar a atualização do módulo cGPU.
-
Localize o Pod cgpu-installer do nó recém-adicionado:
kubectl get po -l name=cgpu-installer -n kube-system -o wideTodos os Pods devem exibir o status
Running. Exemplo de saída:NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES cgpu-installer-***** 1/1 Running 0 4d2h 192.168.XXX.XX1 cn-beijing.192.168.XXX.XX1 <none> <none> cgpu-installer-**2 1/1 Running 0 4d2h 192.168.XXX.XX2 cn-beijing.192.168.XXX.XX2 <none> <none> cgpu-installer-**3 1/1 Running 0 4d2h 192.168.XXX.XX3 cn-beijing.192.168.XXX.XX3 <none> <none> -
Acesse o Pod cgpu-installer:
kubectl exec -ti cgpu-installer-xxxxx -n kube-system -- bash -
Verifique a versão atual do cGPU:
nsenter -t 1 -i -p -n -u -m -- cat /proc/cgpu_km/versionExemplo de saída:
1.5.16Para obter a versão mais recente disponível do cGPU, consulte ack-ai-installer.
Compatibilidade de versões do cGPU
Compatibilidade com drivers NVIDIA
|
Versão do cGPU |
Drivers NVIDIA compatíveis |
|
1.5.20, 1.5.19, 1.5.18, 1.5.17, 1.5.16, 1.5.15, 1.5.13, 1.5.12, 1.5.11, 1.5.10, 1.5.9, 1.5.8, 1.5.7, 1.5.6, 1.5.5, 1.5.3 |
Séries 460, 470, 510, 515, 525, 535, 550, 560, 565, 570, 575 |
|
1.5.2, 1.0.10, 1.0.9, 1.0.8, 1.0.7, 1.0.6, 1.0.5 |
Série 460; série 470 <= 470.161.03; série 510 <= 510.108.03; série 515 <= 515.86.01; série 525 <= 525.89.03. Sem suporte: séries 535, 550, 560, 565, 570, 575 |
|
1.0.3, 0.8.17, 0.8.13 |
Série 460; série 470 <= 470.161.03. Sem suporte: séries 510, 515, 525, 535, 550, 560, 565, 570, 575 |
Compatibilidade com famílias de instâncias
|
Versão do cGPU |
Famílias de instâncias compatíveis |
|
1.5.20, 1.5.19 |
gn6i / gn6e / gn6v / gn6t / ebmgn6i / ebmgn6t / ebmgn6e; gn7i / gn7 / gn7e / ebmgn7i / ebmgn7e; gn8t / ebmgn8t; gn8is / gn8v / ebmgn8is / ebmgn8v; gn8ia / ebmgn8ia; ebmgn9t |
|
1.5.18, 1.5.17, 1.5.16, 1.5.15, 1.5.13, 1.5.12, 1.5.11, 1.5.10, 1.5.9 |
gn6i / gn6e / gn6v / gn6t / ebmgn6i / ebmgn6t / ebmgn6e; gn7i / gn7 / gn7e / ebmgn7i / ebmgn7e; gn8t / ebmgn8t; gn8is / gn8v / ebmgn8is / ebmgn8v; gn8ia / ebmgn8ia. Sem suporte: ebmgn9t |
|
1.5.8, 1.5.7 |
gn6i / gn6e / gn6v / gn6t / ebmgn6i / ebmgn6t / ebmgn6e; gn7i / gn7 / gn7e / ebmgn7i / ebmgn7e; gn8t / ebmgn8t; gn8is / gn8v / ebmgn8is / ebmgn8v. Sem suporte: gn8ia / ebmgn8ia, ebmgn9t |
|
1.5.6, 1.5.5 |
gn6i / gn6e / gn6v / gn6t / ebmgn6i / ebmgn6t / ebmgn6e; gn7i / gn7 / gn7e / ebmgn7i / ebmgn7e; gn8t / ebmgn8t. Sem suporte: gn8is / gn8v / ebmgn8is / ebmgn8v, gn8ia / ebmgn8ia, ebmgn9t |
|
1.5.3, 1.5.2, 1.0.10, 1.0.9, 1.0.8, 1.0.7, 1.0.6, 1.0.5, 1.0.3 |
gn6i / gn6e / gn6v / gn6t / ebmgn6i / ebmgn6t / ebmgn6e; gn7i / gn7 / gn7e / ebmgn7i / ebmgn7e. Sem suporte: gn8t / ebmgn8t, gn8is / gn8v / ebmgn8is / ebmgn8v, gn8ia / ebmgn8ia, ebmgn9t |
|
0.8.17, 0.8.13 |
gn6i / gn6e / gn6v / gn6t / ebmgn6i / ebmgn6t / ebmgn6e. Sem suporte: gn7i / gn7 / gn7e / ebmgn7i / ebmgn7e, gn8t / ebmgn8t, gn8is / gn8v / ebmgn8is / ebmgn8v, gn8ia / ebmgn8ia, ebmgn9t |
Compatibilidade com nvidia-container-toolkit
|
Versão do cGPU |
nvidia-container-toolkit compatível |
|
1.5.20, 1.5.19, 1.5.18, 1.5.17, 1.5.16, 1.5.15, 1.5.13, 1.5.12, 1.5.11, 1.5.10, 1.5.9, 1.5.8, 1.5.7, 1.5.6, 1.5.5, 1.5.3, 1.5.2, 1.0.10 |
<= 1.10; 1.11 ~ 1.17 |
|
1.0.9, 1.0.8, 1.0.7, 1.0.6, 1.0.5, 1.0.3, 0.8.17, 0.8.13 |
<= 1.10. Sem suporte: 1.11 ~ 1.17 |
Compatibilidade com versões do kernel
|
Versão do cGPU |
Versões do kernel compatíveis |
|
1.5.20, 1.5.19, 1.5.18, 1.5.17, 1.5.16, 1.5.15, 1.5.13, 1.5.12, 1.5.11, 1.5.10, 1.5.9 |
kernel 3.x, 4.x, 5.x <= 5.15 |
|
1.5.8, 1.5.7, 1.5.6, 1.5.5, 1.5.3 |
kernel 3.x, 4.x, 5.x <= 5.10 |
|
1.5.2, 1.0.10, 1.0.9, 1.0.8, 1.0.7, 1.0.6, 1.0.5, 1.0.3 |
kernel 3.x, 4.x, 5.x <= 5.1 |
|
0.8.17 |
kernel 3.x, 4.x, 5.x <= 5.0 |
|
0.8.13, 0.8.12, 0.8.10 |
Apenas kernel 3.x, 4.x (sem suporte a kernel 5.x) |