Partilhar via


Usar o driver CSI do Azure Managed Lustre com o Serviço Kubernetes do Azure

Neste artigo, você aprenderá a planejar, instalar e usar do Azure Managed Lustre em do Serviço Kubernetes do Azure (AKS) com o Azure Lustre CSI Driver for Kubernetes. Este driver é baseado na especificação Container Support Interface (CSI).

Você pode usar o controlador Azure Lustre CSI para Kubernetes para aceder ao armazenamento Azure Managed Lustre como volumes de armazenamento persistente a partir de contentores Kubernetes implantados no AKS.

Versões compatíveis do Kubernetes

O Driver CSI do Azure Lustre para Kubernetes é compatível com AKS. Outras instalações do Kubernetes não são suportadas no momento.

AKS Kubernetes versões 1.21 e posteriores são suportadas. Esse suporte inclui todas as versões atualmente disponíveis quando você está criando um novo cluster AKS.

Importante

O Driver CSI do Azure Lustre para Kubernetes atualmente funciona apenas com o SKU do Ubuntu Linux OS nos conjuntos de nós do AKS.

Versões compatíveis do Lustre

O Azure Lustre CSI Driver for Kubernetes é compatível com Azure Managed Lustre. Outras instalações do Lustre não são suportadas no momento.

O Azure Lustre CSI Driver para Kubernetes versões 0.1.10 e posteriores tem suporte com a versão atual do serviço Azure Managed Lustre.

Pré-requisitos

Planeje sua implantação do AKS

Quando você está implantando o Serviço Kubernetes do Azure, várias opções afetam a operação entre o AKS e o Azure Managed Lustre.

Determinar o tipo de rede a utilizar com o AKS

Dois tipos de rede são compatíveis com o Ubuntu Linux OS SKU: kubenet e o driver CNI (Azure Container Network Interface). Ambas as opções funcionam com o Azure Lustre CSI Driver for Kubernetes, mas têm requisitos diferentes que você precisa entender ao configurar a rede virtual e o AKS. Para obter mais informações sobre como determinar a seleção adequada, consulte Conceitos de rede para aplicativos no Serviço Kubernetes do Azure (AKS).

Determinar a arquitetura de rede para interconectividade do AKS e do Azure Managed Lustre

O Azure Managed Lustre opera dentro de uma rede virtual privada. Sua instância do AKS 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 do Azure Managed Lustre.
  • Use a opção Traga sua própria rede virtual do Azure no AKS para instalar o AKS em uma nova sub-rede na rede virtual do Azure Managed Lustre.

Nota

Não recomendamos que instale o AKS na mesma sub-rede que o Azure Managed Lustre.

Emparelhamento de redes virtuais AKS e Azure Managed Lustre

A opção de emparelhar duas redes virtuais tem a vantagem de separar a gestão das redes em diferentes funções privilegiadas. O emparelhamento também pode fornecer flexibilidade adicional, porque pode-se implementá-lo em assinaturas ou regiões do Azure. O emparelhamento de rede virtual requer coordenação entre as duas redes para evitar a escolha de espaços de rede IP conflitantes.

Diagrama que mostra duas redes virtuais, uma para o Azure Managed Lustre e outra para o AKS, com uma seta de emparelhamento conectando-as.

Instalando o AKS em uma sub-rede na rede virtual do Azure Managed Lustre

A opção de instalar o cluster AKS na rede virtual do Azure Managed Lustre com o recursoTraga sua própria rede virtual do Azure no AKS pode ser vantajosa em cenários em que a rede é gerenciada singularmente. Você precisará criar uma sub-rede adicional, dimensionada para atender aos seus requisitos de rede AKS, na rede virtual do Azure Managed Lustre.

Não há separação de privilégios para o gerenciamento de rede quando você provisiona o AKS na rede virtual do Azure Managed Lustre. A entidade de serviço AKS precisa de privilégios na rede virtual do Azure Managed Lustre.

Diagrama que mostra uma rede virtual do Azure Managed Lustre com duas sub-redes, uma para o sistema de arquivos Lustre e outra para o AKS.

Configurar o driver

Para habilitar o Azure Lustre CSI Driver for Kubernetes, execute estas etapas:

  1. Criar um cluster de sistema de ficheiros Azure Managed Lustre.

  2. Criar um cluster AKS.

  3. Crie um emparelhamento de rede virtual.

  4. Instale o driver.

  5. Crie e configure um volume persistente.

  6. Verifique a instalação, opcionalmente usando um pod de eco, para confirmar se o driver está a funcionar.

As seções a seguir descrevem cada tarefa com mais detalhes.

Criar um cluster de sistema de arquivos do Azure Managed Lustre

Se você ainda não criou seu cluster de 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 usando o 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 seu cluster AKS, crie uma implantação de cluster. Consulte Implantar um cluster do Serviço Kubernetes do Azure (AKS) usando o portal do Azure.

Criar um emparelhamento de rede virtual

Nota

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 AKS é criada em um grupo de recursos separado do grupo de recursos do cluster AKS. Pode encontrar o nome deste grupo de recursos acedendo ao seu cluster AKS no portal do Azure, acedendo a Propriedadese localizando o grupo de recursos Infraestrutura . Este 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>.

Para emparelhar a rede virtual AKS com a sua rede virtual do Azure Managed Lustre, consulte Emparelhamento de rede virtual.

Gorjeta

Devido à nomenclatura dos MC_ grupos de recursos e redes virtuais, os nomes das redes podem ser semelhantes ou iguais em várias implantações do AKS. Ao configurar o peering, tenha o cuidado de escolher as redes AKS que pretende escolher.

Conectar-se ao cluster AKS

  1. Abra uma sessão de terminal com acesso às ferramentas da CLI do Azure e entre na sua conta do Azure:

    az login
    
  2. Inicie sessão no portal do Azure.

  3. Encontre o seu cluster AKS. No painel Visão Geral do , selecione o botão Conectar e copie o comando para Baixar credenciais de cluster.

  4. Na sessão do terminal, cole o comando para baixar as credenciais. O comando é semelhante a:

    az aks get-credentials --subscription <AKS_subscription_id> --resource_group <AKS_resource_group_name> --name <name_of_AKS>
    
  5. Instale o kubectl se ele não estiver presente em seu ambiente:

    az aks install-cli
    
  6. Verifique se o contexto atual é o cluster AKS onde você acabou de instalar as credenciais e se você pode se conectar a ele:

    kubectl config current-context
    kubectl get deployments --all-namespaces=true
    

Instale o driver

Para instalar o driver CSI do Azure Lustre para Kubernetes, execute o seguinte comando:

curl -skSL https://raw.githubusercontent.com/kubernetes-sigs/azurelustre-csi-driver/main/deploy/install-driver.sh | bash

Para obter comandos de exemplo para uma instalação local, consulte Instalar o driver CSI do Azure Lustre em um cluster Kubernetes.

Criar e configurar um volume persistente

Para criar um volume persistente para um sistema de arquivos existente do Azure Managed Lustre:

  1. Copie os seguintes arquivos de configuração da pasta /docs/examples/ no repositório azurelustre-csi-driver . Se você clonou o repositório quando instalou o driver, já tem cópias locais disponíveis.

    • storageclass_existing_lustre.yaml
    • pvc_storageclass.yaml

    Se não quiser clonar todo o repositório, você pode 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.

  2. No arquivo storageclass_existing_lustre.yaml, atualize o nome interno do cluster Lustre e o endereço IP do Lustre Management Service (MGS).

    Captura de ecrã do ficheiro storageclass_existing_lustre.yaml com valores para substituir realçados.

    Ambas as configurações são exibidas no portal do Azure, no painel de conexão do Cliente para seu sistema de arquivos do Azure Managed Lustre.

    Captura de tela do painel para conexão de cliente no portal do Azure. O endereço IP MGS e o nome

    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 do Azure Managed Lustre. O nome interno é geralmente lustrefs. 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.

      Captura de tela de uma cadeia de caracteres de endereço de exemplo no painel para conexão de cliente. O nome interno do cluster Lustre é realçado.

    • Substitua EXISTING_LUSTRE_IP_ADDRESS pelo endereço IP MGS.

  3. 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 opcionalmente usar um pod de eco para confirmar que o driver está funcionando.

Para exibir carimbos de data/hora no console durante as gravações, execute os seguintes comandos:

  1. 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
    
  2. Para exibir carimbos de data/hora no console durante as gravações, execute o seguinte comando kubectl:

    `kubectl logs -f lustre-echo-date`