Entendendo as interfaces de rede virtual em clusters de VPC

Nuvem privada virtual 4.20 e posteriormente Somente nós de trabalho bare metal

As interfaces de rede virtual (VNIs) oferecem opções avançadas de conectividade de rede para cargas de trabalho executadas em clusters Red Hat OpenShift on IBM Cloud VPC com nós de trabalho bare metal.

O que são interfaces de rede virtuais?

Uma interface de rede virtual (VNI) é uma abstração de VPC IBM Cloud que representa conexões de rede individuais. Os VNIs incorporam propriedades de uma conexão de rede, incluindo:

  • Endereços IP (primário e secundário)
  • Endereços MAC
  • Associação de sub-rede VPC
  • Associação ao grupo de segurança

As VNIs estão disponíveis somente em clusters com nós de trabalho bare metal que executam o Red Hat CoreOS (RHCOS).

Arquitetura VNI em clusters OpenShift

VNIs estáticos

Quando você cria um cluster Red Hat OpenShift on IBM Cloud baseado em bare metal ou adiciona um novo pool de trabalho bare metal em IBM Cloud VPC, dois VNIs são automaticamente criados e anexados a cada nó de trabalho bare metal:

VNI primário
Lida com o tráfego regular de trabalho, incluindo rede de pods, redes definidas pelo usuário (UDNs) de sobreposição e comunicação com o mestre do cluster.
VNI secundário (portador)
Atua como um portador de anexos VNI dinâmicos que você gerencia. Essa VNI permite que você anexe interfaces de rede adicionais às cargas de trabalho em execução no nó de trabalho.

VNIs dinâmicos

Os VNIs dinâmicos são criados e gerenciados sob demanda após a criação do cluster. Esses VNIs podem ser:

  • Anexado a nós de trabalho específicos
  • Configurado para flutuar entre trabalhadores na mesma zona
  • Usado para conectividade de rede VPC direta

Principais recursos

Conectividade direta com a VPC
As VNIs permitem que as cargas de trabalho se conectem diretamente às redes VPC, ignorando a sobreposição de rede do pod. Isso fornece recursos de rede VPC nativos, como grupos de segurança, ACLs de rede e roteamento.
Integração de grupos de segurança
Os VNIs podem ser associados a grupos de segurança VPC, fornecendo controle de acesso à rede refinado no nível da interface.
Rede específica da zona
Os VNIs são anexados a uma sub-rede e zona VPC específicas. Eles podem lidar com o tráfego apenas para cargas de trabalho executadas em cluster workers na mesma zona em que a VNI é provisionada.
Preservação da rede durante a migração
Para cargas de trabalho que suportam migração em tempo real (como VMs de virtualização OpenShift ), os VNIs podem flutuar implicitamente e seguir a carga de trabalho entre instâncias de trabalho bare metal dentro da mesma zona, preservando as conexões de rede.

Casos de uso

OpenShift Virtualization
Habilite a conectividade de rede VPC direta para máquinas virtuais, permitindo que as VMs tenham seus próprios endereços IP de VPC. Consulte Gerenciamento de interfaces de rede virtual para OpenShift Virtualization.
Cargas de trabalho de várias redes
Conecte cargas de trabalho a várias sub-redes de VPC simultaneamente, permitindo topologias de rede complexas e segregação de tráfego.
Migração de aplicativos legados
Forneça uma rede semelhante à VM para aplicativos em contêineres que exigem endereços IP específicos ou acesso direto à rede.
Virtualização da função de rede
Implante funções de rede que exijam acesso direto aos recursos de rede da VPC.

Limitações e considerações

Modificações estáticas do VNI
Não modifique os VNIs estáticos que são criados automaticamente para cada nó de trabalho. Embora essas VNIs estejam visíveis em sua conta VPC, não há suporte para alterações em suas configurações. Isso inclui anexar IPs flutuantes, alterar grupos de segurança ou modificar quaisquer outras propriedades do VNI. A modificação de VNIs estáticos pode causar problemas de conectividade do cluster.
Restrições de modificação do VNI para anexos flutuantes
Você não pode modificar as propriedades do VNI para anexos dinâmicos flutuantes (com escopo de cluster). Isso inclui alterações no nome da VNI, nos endereços IP flutuantes, nas configurações de NAT da infraestrutura e nas atribuições de grupos de segurança. Para atualizar essas configurações, você deve primeiro desconectar o VNI, fazer as alterações e, em seguida, reconectá-lo ao cluster. Essa limitação é temporária.
Restrições de zona
Os VNIs não podem flutuar entre zonas. Em clusters de várias zonas, os VNIs só podem lidar com o tráfego de cargas de trabalho na mesma zona em que o VNI está provisionado.
Requisito de bare metal
Os VNIs são compatíveis apenas com nós de trabalho bare metal. Os nós de trabalho da instância de servidor virtual (VSI) não são compatíveis com VNIs.
Requisito RHCOS
Os nós de trabalho devem executar o sistema operacional Red Hat CoreOS (RHCOS).
OVN- Kubernetes CNI
Os clusters devem usar o plug-in OVN- Kubernetes Container Network Interface (CNI).
Gerenciamento entre contas
Em Red Hat OpenShift on IBM Cloud, os nós de trabalho são provisionados na conta de IBM, e não na sua conta. Isso significa que o gerenciamento do ciclo de vida da VNI é diferente das instâncias bare metal de VPC autônomas, e você tem visibilidade diferente dos anexos da VNI.
Requisito de versão
O suporte a VNI requer o endereço OpenShift 4.20 ou posterior.

Pré-requisitos

Antes de usar VNIs em seu cluster, verifique se você tem:

  • Um cluster Red Hat OpenShift on IBM Cloud na versão 4.20 ou posterior
  • Nós de trabalho bare metal em seu cluster
  • Red Hat CoreOS (RHCOS) nos nós de trabalho
  • OVN- Kubernetes CNI configurado
  • Infraestrutura de VPC com sub-redes apropriadas
  • A função de acesso à plataforma Operator para Kubernetes Service em IBM Cloud IAM
  • A função de acesso à plataforma Editor ou Administrator para os serviços de infraestrutura de VPC em IBM Cloud IAM

Gerenciamento de VNIs

É possível gerenciar VNIs no console IBM Cloud ou usando a CLI.

Anexar um VNI a partir do console

  1. No console Red Hat OpenShift on IBM Cloud clusters, selecione o cluster.

  2. No menu de navegação, clique em Rede > Anexos VNI.

  3. Clique em Anexar VNIs.

  4. No painel Attach VNIs (Anexar VNIs ), defina as seguintes configurações:

    • Sub-rede: Selecione a sub-rede em que seu VNI está localizado.
    • Nó de trabalho: Selecione um nó de trabalho específico ou selecione Todos os nós de trabalho para um anexo de VNI flutuante.
    • VNI: Selecione o VNI a ser anexado.
    • VLAN ID: Digite a VLAN ID (intervalo: 1-500) que corresponda à sua configuração de rede.
    • Exclusão automática: Opcional. Selecione para excluir automaticamente o VNI quando removido do cluster.
  5. Clique em Anexar.

Como anexar um VNI a partir da CLI

Para anexar um VNI a um nó de trabalho bare metal específico, use o comando vni attach baremetal. Você deve especificar uma VLAN ID (intervalo: 1-500) que corresponda à sua configuração de rede.

ibmcloud ks vni attach baremetal --worker WORKER_ID --vni VNI_ID --vlan VLAN_ID [--auto-delete]

Para anexar um VNI flutuante que possa acompanhar cargas de trabalho entre trabalhadores na mesma zona, especifique a ID do cluster em vez de uma ID do trabalhador:

ibmcloud ks vni attach baremetal --cluster-id CLUSTER_ID --vni VNI_ID --vlan VLAN_ID [--auto-delete]

O sinalizador --auto-delete exclui automaticamente o VNI quando ele é removido do cluster.

Visualização de anexos de VNI no console

  1. No console Red Hat OpenShift on IBM Cloud clusters, selecione o cluster.

  2. No menu de navegação, clique em Rede > Anexos VNI.

  3. Visualize a lista de VNIs anexados com detalhes que incluem o nome do VNI, o nó de trabalho, a sub-rede, a ID da VLAN e o IP primário.

Visualização de anexos de VNI na CLI

Para listar todos os VNIs anexados a um cluster:

ibmcloud ks vni ls --cluster-id CLUSTER_ID

Para listar VNIs anexados a um nó de trabalho específico:

ibmcloud ks vni ls --worker WORKER_ID

Desvinculação de um VNI do console

  1. No console Red Hat OpenShift on IBM Cloud clusters, selecione o cluster.

  2. No menu de navegação, clique em Rede > Anexos VNI.

  3. Localize o VNI que você deseja desconectar e clique no ícone do menu de ações (⋯).

  4. Selecione Detach e confirme a ação.

Desvinculação de um VNI da CLI

Para desanexar um VNI de um nó de trabalho, especifique o ID do VNI e o ID do trabalhador:

ibmcloud ks vni detach --worker WORKER_ID --vni VNI_ID

Para VNIs flutuantes, primeiro liste os VNIs para encontrar o ID de trabalhador atual e, em seguida, desconecte usando esse ID de trabalhador.

Para obter exemplos e casos de uso mais detalhados, consulte Gerenciamento de interfaces de rede virtual para OpenShift Virtualization.

Próximas etapas