Plug-in de GPU NVIDIA

Ao ativar o complemento de cluster do Plug-in de GPU NVIDIA, você pode passar os seguintes pares de chave/valor como argumentos.

Observe que, para garantir que as cargas de trabalho em execução nos nós de trabalho de GPU NVIDIA não sejam interrompidas inesperadamente, recomendamos que você escolha a versão do complemento de Plug-in de GPU NVIDIA a ser implantada, em vez de especificar que deseja que a Oracle atualize o complemento automaticamente.

Argumentos de Configuração Comuns a todos os Complementos de Cluster
Chave (API e CLI) Nome para Exibição da Chave (Console) Descrição Obrigatório/Opcional Valor Padrão Valor de Exemplo
affinity afinidade

Um grupo de regras de programação de afinidade.

Formato JSON em texto simples ou codificado em Base64.

Opcional nulo nulo
nodeSelectors seletores de nó

Você pode usar seletores de nó e labels de nó para controlar os nós de trabalho nos quais os pods complementares são executados.

Para que um pod seja executado em um nó, o seletor de nós do pod deve ter a mesma chave/valor do label do nó.

Defina nodeSelectors como um par de chave/valor que corresponda ao seletor de nós do pod e ao label do nó de trabalho.

Formato JSON em texto simples ou codificado em Base64.

Opcional nulo {"foo":"bar", "foo2": "bar2"}

O pod só será executado em nós que tenham o label foo=bar ou foo2=bar2.

numOfReplicas numOfReplicas O número de réplicas da implantação do complemento.

(Para CoreDNS, use nodesPerReplica.)

Obrigatório 1

Cria uma réplica da implantação do complemento por cluster.

2

Cria duas réplicas da implantação do complemento por cluster.

rollingUpdate rollingUpdate

Controla o comportamento desejado de atualização incremental por maxSurge e maxUnavailable.

Formato JSON em texto simples ou codificado em Base64.

Opcional nulo nulo
tolerations tolerâncias

Você pode usar taints e tolerations para controlar os nós de trabalho nos quais os pods complementares são executados.

Para que um pod seja executado em um nó que tenha uma taint, o pod deve ter uma tolerância correspondente.

Defina tolerations como um par de chave/valor que corresponda à tolerância do pod e à mancha do nó de trabalho.

Formato JSON em texto simples ou codificado em Base64.

Opcional nulo [{"key":"tolerationKeyFoo", "value":"tolerationValBar", "effect":"noSchedule", "operator":"exists"}]

Somente pods que têm essa tolerância podem ser executados em nós de trabalho que têm a mancha tolerationKeyFoo=tolerationValBar:noSchedule.

topologySpreadConstraints topologySpreadConstraints

Como distribuir pods correspondentes entre a topologia fornecida.

Formato JSON em texto simples ou codificado em Base64.

Opcional nulo nulo
Argumentos de Configuração Específicos para esta Extensão de Cluster
Chave (API e CLI) Nome para Exibição da Chave (Console) Descrição Obrigatório/Opcional Valor Padrão Valor de Exemplo
deviceIdStrategy Estratégia de ID do Dispositivo

Qual estratégia usar para transmitir IDs de dispositivo ao runtime subjacente.

Uma das seguintes:

  • uuid
  • index
Opcional uuid
deviceListStrategy Estratégia da Lista de Dispositivos

Qual estratégia usar para passar a lista de dispositivos para o runtime subjacente.

Valores suportados:

  • envvar
  • volume-mounts
  • cdi-annotations
  • cdi-cri

Há suporte para vários valores, em uma lista separada por vírgulas.

Opcional envvar
driverRoot Raiz do driver O caminho raiz para a instalação do driver NVIDIA. Opcional /
failOnInitError FailOnInitError

Se o plug-in falhará se for encontrado um erro durante a inicialização.

Quando definido como false, bloqueia o plug-in indefinidamente, em vez de falhar.

Opcional true
migStrategy Estratégia MIG

Qual estratégia usar para expor dispositivos MIG (GPU com várias instâncias) em GPUs que os suportam.

Uma das seguintes:

  • none
  • single
  • mixed
Opcional none
nvidia-gpu-device-plugin.ContainerResources recursos do contêiner nvidia-gpu-device-plugin

Você pode especificar as quantidades de recursos solicitadas pelos contêineres de complementos e definir limites de uso de recursos que os contêineres de complementos não podem exceder.

Formato JSON em texto simples ou codificado em Base64.

Opcional nulo {"limits": {"cpu": "500m", "memory": "200Mi" }, "requests": {"cpu": "100m", "memory": "100Mi"}}

Crie contêineres complementares que solicitem 100 mililitros de CPU e 100 mebibytes de memória. Limite os contêineres complementares a 500 milicores de CPU e 200 mebibytes de memória.

passDeviceSpecs Informar Especificações do Dispositivo Se os caminhos e as permissões desejadas do nó do dispositivo devem ser especificados para qualquer dispositivo NVIDIA que esteja sendo alocado ao contêiner. Opcional false
useConfigFile Usar arquivo de configuração de ConfigMap

Se um arquivo de configuração deve ser usado para configurar o Plug-in do Dispositivo Nvidia para Kubernetes. O arquivo de configuração é derivado de um ConfigMap.

Se definido como true, você deverá criar um ConfigMap no cluster, nomear o ConfigMap nvidia-device-plugin-config e especificar valores para argumentos de configuração. Consulte Exemplo.

O ConfigMap é referenciado pelo daemonset nvidia-gpu-device-plugin.

Opcional false

Exemplo de nvidia-device-plugin-config ConfigMap:

apiVersion: v1
kind: ConfigMap
metadata: 
  name: nvidia-device-plugin-config 
  namespace: kube-system
data:
  config.yaml: |
    version: v1
    flags:
      migStrategy: "none"
      failOnInitError: true
      nvidiaDriverRoot: "/"
      plugin:
        passDeviceSpecs: false
        deviceListStrategy: envvar
        deviceIDStrategy: uuid