Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Use RDMA shared mode

Última atualização: Sep 06, 2026

No modo compartilhado de Remote Direct Memory Access (RDMA), vários pods compartilham a mesma NIC física de RDMA. Use este modo para cargas de trabalho que não exigem isolamento rigoroso de dispositivos.

Pré-requisitos

Verificar o recurso de RDMA no nó

O add-on do plugin de dispositivo RDMA registra cada NIC física de RDMA como 1.000 recursos virtuais rdma/hca e os aloca aos pods sob demanda. Após instalar o add-on, execute o comando abaixo para verificar se o nó fornece o recurso rdma/hca:

kubectl get node <node-name> -oyaml

Saída esperada:

...
allocatable:
  cpu: 189280m
  rdma/hca: 1k
capacity:
  cpu: "192"
  rdma/hca: 1k
...

Implantar uma carga de trabalho que usa RDMA

Selecione um modo com base nos seus requisitos de rede e isolamento.

Cenário 1: Usar RDMA no modo hostNetwork

No modo hostNetwork, o pod utiliza diretamente a rede do nó host. Este cenário é ideal quando se exige o máximo desempenho de rede.

Nota

Caso a opção de modo non-hostNetwork do add-on do plugin de dispositivo RDMA esteja desativada (item de configuração definido como False), defina hostNetwork: true para usar o RDMA.

apiVersion: batch/v1
kind: Job
metadata:
  name: rdma-hostnetwork-test
spec:
  parallelism: 1
  template:
    spec:
      hostNetwork: true
      tolerations:
      - operator: Exists
      containers:
      - name: rdma-test
        image: "<image>"
        command:
        - sh
        - -c
        - |
          python /workspace/benchmark.py
        resources:
          limits:
            nvidia.com/gpu: 8
            rdma/hca: 1
        workingDir: /root
        volumeMounts:
        - name: shm
          mountPath: /dev/shm
        securityContext:
          capabilities:
            add:
            - SYS_RESOURCE
            - IPC_LOCK
      restartPolicy: Never
      volumes:
      - name: shm
        emptyDir:
          medium: Memory
          sizeLimit: 8Gi

Configurações principais

Item de configuração

Descrição

hostNetwork: true

O pod usa a rede do nó host e acessa diretamente o dispositivo RDMA.

rdma/hca: 1

Solicita recursos de dispositivo RDMA.

nvidia.com/gpu: 8

Solicita recursos de GPU. Ajuste o valor conforme necessário.

/dev/shm

Volume de memória compartilhada usado por múltiplos processos para troca de dados.

SYS_RESOURCE e IPC_LOCK

Capacidades do Linux exigidas pelas aplicações RDMA.

Cenário 2: Usar RDMA no modo non-hostNetwork

No modo non-hostNetwork, cada pod possui seu próprio endereço IP. Esta configuração requer o seguinte:

  • A rede de computação do cluster bare metal Lingjun deve estar configurada para IPv6. Selecione o modo IPv6 durante a criação do cluster. Caso contrário, a configuração de RDMA não terá efeito.

  • O item de configuração Enable RDMA network support (non-hostNetwork mode) do add-on do plugin de dispositivo RDMA deve estar definido como True. Para mais informações, consulte RDMA overview.

apiVersion: batch/v1
kind: Job
metadata:
  name: rdma-non-hostnetwork-test
spec:
  parallelism: 1
  template:
    spec:
      hostNetwork: false
      tolerations:
      - operator: Exists
      containers:
      - name: rdma-test
        image: "<image>"
        command:
        - sh
        - -c
        - |
          python /workspace/benchmark.py
        resources:
          limits:
            nvidia.com/gpu: 8
            rdma/hca: 1
        workingDir: /root
        volumeMounts:
        - name: shm
          mountPath: /dev/shm
        securityContext:
          capabilities:
            add:
            - SYS_RESOURCE
            - IPC_LOCK
      restartPolicy: Never
      volumes:
      - name: shm
        emptyDir:
          medium: Memory
          sizeLimit: 8Gi

Em comparação ao Cenário 1, apenas hostNetwork: false e o nome do Job (rdma-non-hostnetwork-test) são diferentes. Para o significado dos demais itens de configuração, consulte as configurações principais no Cenário 1.

Após enviar o Job, visualize os logs do pod para conferir os resultados do teste de RDMA. Substitua <image> por uma imagem que forneça seu script de teste em /workspace/benchmark.py.

Alternar entre modos

Para alternar entre o modo compartilhado e o exclusivo, atualize a configuração no node pool. Não há suporte para alternância em tempo de execução.

Importante

Antes de trocar o modo, certifique-se de que nenhum pod no nó esteja utilizando recursos rdma/hca. Caso contrário, as alocações de dispositivos dos pods existentes serão revogadas.

Para permitir que um pod use exclusivamente uma NIC física de RDMA com afinidade NUMA, mude para o modo exclusivo. Para mais informações, consulte Use RDMA exclusive mode.