Usar o driver CSI do Lustre gerenciado pelo Azure com o Serviço de Kubernetes do Azure
Neste artigo, você aprenderá a planejar, instalar e usar o Azure Managed Lustre no AKS (Serviço de Kubernetes do Azure) com o driver de interface de suporte de contêiner do Kubernetes do Azure Managed Lustre (driver CSI do Azure Managed Lustre).
Sobre o driver CSI do Lustre Gerenciado do Azure para AKS
O driver CSI (Interface de Suporte de Contêiner do Lustre Gerenciado) do Azure para AKS permite que você acesse o armazenamento do Lustre Gerenciado do Azure como volumes de armazenamento persistentes de contêineres do Kubernetes implantados no AKS (Serviço de Kubernetes do Azure).
Versões compatíveis do Kubernetes
O driver CSI do Azure Managed Lustre para AKS é compatível com o AKS (Serviço de Kubernetes do Azure). No momento, não há suporte para outras instalações do Kubernetes.
Há suporte para as versões 1.21 e posteriores do Kubernetes do AKS. Isso inclui todas as versões atualmente disponíveis ao criar um novo cluster do AKS.
Importante
Atualmente, o driver CSI do Azure Managed Lustre só funciona com o SKU do sistema operacional Ubuntu Linux para pools de nós do AKS.
Versões compatíveis do Lustre
O driver CSI do Azure Managed Lustre para AKS é compatível com o Azure Managed Lustre. Outras instalações do Lustre não são suportadas no momento.
As versões 0.1.10 e posteriores do driver CSI do Azure Managed Lustre têm suporte com a versão atual do serviço Azure Managed Lustre.
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- Um ambiente de terminal com as ferramentas da CLI do Azure instaladas. Confira Introdução à CLI do Azure
- kubectl, a ferramenta de gerenciamento do Kubernetes, é instalada em seu ambiente de terminal. Consulte Início Rápido: Implantar um cluster do AKS (Serviço de Kubernetes do Azure) usando a CLI do Azure
- Crie uma implantação do Azure Managed Lustre. Confira a documentação do Sistema de Arquivos Lustre Gerenciado do Azure
Planejar sua implantação do AKS
Há várias opções ao implantar o Serviço de Kubernetes do Azure que afetam a operação entre o AKS e o Azure Managed Lustre.
Determinar o tipo de rede a ser usado com o AKS
Há dois tipos de rede compatíveis com o SKU do sistema operacional Ubuntu Linux, kubenet e o driver CNI (Interface de Rede de Contêiner) do Azure. Ambas as opções funcionam com o driver CSI do Lustre Gerenciado do Azure para AKS, mas têm requisitos diferentes que precisam ser entendidos ao configurar a rede virtual e o AKS. Consulte Conceitos de rede para aplicativos no AKS (Serviço de Kubernetes do Azure) para obter mais informações sobre como determinar a seleção adequada.
Determinar a arquitetura de rede para interconectividade do AKS e do Azure Managed Lustre
O Azure Managed Lustre opera em uma rede virtual privada, seu Kubernetes deve ter conectividade de rede com a rede virtual do Azure Managed Lustre. Há duas maneiras comuns de configurar a rede entre o Azure Managed Lustre e o AKS.
- Instale o AKS em sua própria Rede Virtual e crie um emparelhamento de rede virtual com a Rede Virtual Lustre Gerenciada do Azure.
- Use a opção Traga sua própria rede no AKS para instalar o AKS em uma nova sub-rede na Rede Virtual Lustre Gerenciada do Azure.
Observação
Não é recomendável instalar o AKS na mesma sub-rede que o Azure Managed Lustre.
Emparelhamento de redes virtuais do AKS e do Azure Managed Lustre
A opção de emparelhar duas redes virtuais diferentes tem a vantagem de separar o gerenciamento das várias redes para diferentes funções privilegiadas. O emparelhamento também pode fornecer flexibilidade adicional, pois pode ser feito em assinaturas ou regiões do Azure. O emparelhamento de rede virtual exigirá coordenação entre as duas redes para evitar a escolha de espaços de rede IP conflitantes.
Instalando o AKS em uma sub-rede na rede virtual do Azure Managed Lustre
A opção de instalar o cluster do AKS na rede virtual do Azure Managed Lustre com o recurso Traga sua própria rede no AKS pode ser vantajosa quando você deseja cenários em que a rede é gerenciada de forma singular. Uma sub-rede adicional dimensionada para atender aos requisitos de rede do AKS precisará ser criada na rede virtual do Azure Managed Lustre.
Não há separação de privilégios para o gerenciamento de rede ao provisionar o AKS na Rede Lustre Gerenciada do Azure e a entidade de serviço do AKS precisará de privilégios na rede virtual Lustre Gerenciada do Azure.
Visão geral da configuração
Para habilitar o Driver CSI do Lustre Gerenciado do Azure para Kubernetes, execute estas etapas:
Instale o driver CSI do Lustre gerenciado do Azure para Kubernetes.
Crie e configure um volume persistente.
Verifique a instalação usando opcionalmente um pod de eco para confirmar se o driver está funcionando.
As seções a seguir descrevem cada tarefa com mais detalhes.
Criar um sistema de arquivos Lustre Gerenciado do Azure
Se você ainda não criou o cluster do sistema de arquivos do Azure Managed Lustre, crie o cluster agora. Para obter instruções, consulte Criar um sistema de arquivos do Azure Managed Lustre no portal do Azure. Atualmente, o driver só pode ser usado com um sistema de arquivos existente do Azure Managed Lustre.
Criar um Cluster AKS
Se você ainda não criou o cluster do AKS, crie uma implantação de cluster. Consulte Implantar um cluster do AKS (Serviço de Kubernetes do Azure).
Criar emparelhamento de rede virtual
Observação
Ignore esta etapa de emparelhamento de rede se você instalou o AKS em uma sub-rede na rede virtual do Azure Managed Lustre.
A rede virtual do AKS é criada em um grupo de recursos separado do grupo de recursos do cluster do AKS. Você pode encontrar o nome desse grupo de recursos acessando o cluster do AKS no Portal do Azure, escolhendo a folha Propriedades e localizando o grupo de recursos Infraestrutura. Esse grupo de recursos contém a rede virtual que precisa ser emparelhada com a rede virtual do Azure Managed Lustre. Ele corresponde ao padrão MC_<aks-rg-name>_<aks-cluster-name>_<region>.
Consulte Emparelhamento de Rede Virtual para emparelhar a rede virtual do AKS com sua rede virtual do Azure Gerencia o Lustre.
Dica
Devido à nomenclatura dos grupos de recursos MC_ e redes virtuais, os nomes das redes podem ser semelhantes ou iguais em várias implantações do AKS. Ao configurar o emparelhamento, preste muita atenção ao escolher as redes AKS que pretende escolher.
Conecte-se ao cluster do AKS
Conecte-se ao cluster do Serviço de Kubernetes do Azure executando estas etapas:
Abra uma sessão de terminal com acesso às ferramentas da CLI do Azure e faça logon em sua conta do Azure.
az login
Entre no portal do Azure.
Localize o cluster do AKS. Selecione a folha Visão geral e, em seguida, selecione o botão Conectar e copie o comando para Baixar credenciais de cluster.
Na sessão do terminal, cole o comando para baixar as credenciais. Será um comando semelhante a:
az aks get-credentials --subscription <AKS_subscription_id> --resource_group <AKS_resource_group_name> --name <name_of_AKS>
Instale o kubectl se ele não estiver presente em seu ambiente.
az aks install-cli
Verifique se o contexto atual é o cluster do AKS que você acabou de instalar as credenciais e se você pode se conectar a ele:
kubectl config current-context kubectl get deployments --all-namespaces=true
Instalar o driver CSI
Para instalar o driver CSI, execute o seguinte comando:
curl -skSL https://raw.githubusercontent.com/kubernetes-sigs/azurelustre-csi-driver/main/deploy/install-driver.sh | bash
Para obter exemplos de comandos de instalação local, consulte Instalar o driver CSI do Azure Lustre em um cluster do Kubernetes.
Criar e configurar um volume persistente
Para criar um volume persistente para um sistema de arquivos existente do Azure Managed Lustre, execute estas etapas:
Copie os arquivos de configuração a seguir da pasta /docs/examples/ no repositório azurelustre-csi-driver . Se você clonou o repositório ao instalar o driver CSI, já tem cópias locais disponíveis.
- storageclass_existing_lustre.yaml
- pvc_storageclass.yaml
Se você não quiser clonar todo o repositório, poderá baixar cada arquivo individualmente. Abra cada um dos links a seguir, copie o conteúdo do arquivo e cole o conteúdo em um arquivo local com o mesmo nome de arquivo.
No arquivo storageclass_existing_lustre.yaml, atualize o nome interno do cluster do Lustre e o endereço IP do MSG.
Ambas as configurações são exibidas no portal do Azure, na página Conexão do cliente para o sistema de arquivos do Azure Lustre.
Faça estas atualizações:
Substitua
EXISTING_LUSTRE_FS_NAME
pelo nome interno atribuído pelo sistema do cluster Lustre em seu sistema de arquivos Lustre Gerenciado do Azure. O nome interno é geralmentelustrefs
. O nome interno não é o nome que você deu ao sistema de arquivos quando o criou.O comando sugerido
mount
inclui o nome realçado na cadeia de caracteres de endereço a seguir.Substitua
EXISTING_LUSTRE_IP_ADDRESS
pelo endereço IP MSG.
Para criar a classe de armazenamento e a declaração de volume persistente, execute o seguinte
kubectl
comando:kubectl create -f storageclass_existing_lustre.yaml kubectl create -f pvc_storageclass.yaml
Verifique a instalação
Se você quiser verificar sua instalação, você pode usar opcionalmente um pod de eco para confirmar se o driver está funcionando.
Para exibir carimbos de data/hora no console durante as gravações, execute os seguintes comandos:
Adicione o seguinte código ao pod de eco:
while true; do echo $(date) >> /mnt/lustre/outfile; tail -1 /mnt/lustre/outfile; sleep 1; done
Para exibir carimbos de data/hora no console durante as gravações, execute o seguinte
kubectl
comando:`kubectl logs -f lustre-echo-date`
Próximas etapas
- Saiba como exportar arquivos do seu sistema de arquivos com um trabalho de arquivamento.