Para ser capaz de provisionar volumes persistentes ReadWriteMany no seu ambiente vSphere Kubernetes genérico, configure as redes, os comutadores e os roteadores necessários dos nós do Kubernetes para a rede de serviço de arquivos do vSAN.

Configurando a rede

Ao configurar as redes, siga estes requisitos:
  • Em cada nó do Kubernetes, você pode usar um vNIC dedicado para o tráfego de compartilhamento de arquivos do vSAN. Essa opção será necessária apenas se você quiser usar um caminho de tráfego de dados seguro para os volumes de arquivos.
  • Se você usar um vNIC dedicado, certifique-se de que o tráfego por meio do vNIC dedicado seja roteável para uma ou várias redes de serviço de arquivos do vSAN.
  • Certifique-se de que apenas o SO guest em cada nó do Kubernetes possa acessar diretamente o compartilhamento de arquivos do vSAN por meio do endereço IP de compartilhamento de arquivos. Os pods no nó não podem executar ping ou acessar o compartilhamento de arquivos do vSAN por seu endereço IP.

    O driver CSI do CNS garante que apenas os pods configurados para usar o volume do arquivo CNS possam acessar o compartilhamento de arquivos do vSAN criando um ponto de montagem no sistema operacional convidado.

  • Evite criar um conflito de endereços IP entre as VMs do nó e os compartilhamentos de arquivos do vSAN.

A ilustração a seguir é um exemplo da configuração de rede CNS com o serviço de compartilhamento de arquivos do vSAN.

Na ilustração, o exemplo de configuração de rede segue essas diretrizes.
  • A configuração usa redes separadas para diferentes itens no ambiente CNS.
    Rede Descrição
    Rede de gerenciamento do vSphere Normalmente, em um cluster Kubernetes genérico, cada nó tem acesso a essa rede.
    Rede de pods ou nós O Kubernetes usa essa rede para a comunicação entre nós ou pods.
    Rede dedicada de compartilhamento de arquivos O tráfego de dados de volume do arquivo CNS usa essa rede.
    Rede de compartilhamento de arquivos do vSAN Rede na qual o compartilhamento de arquivos do vSAN está ativado e onde os compartilhamentos de arquivos estão disponíveis.
  • Cada nó do Kubernetes tem um vNIC dedicado para o tráfego de arquivos. Esse vNIC é separado do vNIC usado para a comunicação entre nós ou pod e pod. Essa configuração é usada apenas como exemplo, mas não é obrigatória.
  • Somente os aplicativos configurados para usar o compartilhamento de arquivos CNS têm acesso aos compartilhamentos de arquivos do vSAN por meio do ponto de montagem no SO guest do nó. Por exemplo, na ilustração, ocorre o seguinte:
    • Os pods App-1 e App-2 são configurados para usar um volume de arquivo e têm acesso ao compartilhamento de arquivos por meio do ponto de montagem criado pelo driver CSI.
    • O App-3 e o App-4 não estão configurados com um volume de arquivos e não podem acessar compartilhamentos de arquivos.
  • Os compartilhamentos de arquivos do vSAN são implantados como contêineres em uma VM de dispositivo de compartilhamento de arquivos do vSAN no host ESXi. Um implantador do Kubernetes, que é um software ou serviço que pode configurar, implantar e gerenciar clusters do Kubernetes, configura roteadores e switches necessários, para que o SO convidado no nó do Kubernetes possa acessar os compartilhamentos de arquivos do vSAN.

Limitações de segurança

Embora o vNIC dedicado impeça que um pod não autorizado acesse os compartilhamentos de arquivos diretamente, existem algumas limitações de segurança:
  • A funcionalidade do arquivo CNS pressupõe que qualquer pessoa que tenha a ID de volume do arquivo CNS seja um usuário autorizado do volume. Qualquer usuário que tenha a ID de volume do arquivo CNS pode acessar os dados armazenados no volume.
  • O volume do arquivo CNS oferece suporte apenas à autenticação AUTH_SYS, que é uma autenticação baseada em ID de usuário. Para proteger o acesso aos dados no volume do arquivo CNS, você deve usar IDs de usuário apropriadas para os contêineres que acessam o volume do arquivo CNS.
  • Um volume persistente ReadWriteMany desvinculado que se refere a um volume de arquivo CNS pode ser vinculado por uma declaração de volume persistente criada por qualquer usuário do Kubernetes em qualquer namespace. Certifique-se de que apenas usuários autorizados tenham acesso ao Kubernetes para evitar problemas de segurança.

Configurando o driver CSI para acessar clusters de serviço de arquivo do vSAN

Dependendo da configuração, o driver CSI pode provisionar volumes de arquivo em um ou vários clusters do vSAN onde o serviço de arquivo está ativado.

Você pode restringir o acesso apenas a clusters específicos do vSAN nos quais o serviço de arquivo está ativado. Ao implantar o cluster do Kubernetes, configure o driver CSI com acesso a clusters do vSAN de serviço de arquivo específico. Como resultado, o driver CSI pode provisionar os volumes de arquivo apenas nesses clusters do vSAN.

Na configuração padrão, o driver CSI usa qualquer cluster de serviço de arquivo do vSAN disponível em vCenter Server para o provisionamento de volume de arquivo. O driver CSI não verifica qual cluster do vSAN de serviço de arquivo está acessível durante o provisionamento de volumes de arquivo.