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
- 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.
- 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
- 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.