Delen via


Het Azure Managed Lustre CSI-stuurprogramma gebruiken met Azure Kubernetes Service

In dit artikel leert u hoe u Azure Managed Lustre plant, installeert en gebruikt in Azure Kubernetes Service (AKS) met het azure Managed Lustre Kubernetes-containerondersteuningsinterfacestuurprogramma (Azure Managed Lustre CSI-stuurprogramma) .

Over het Azure Managed Lustre CSI-stuurprogramma voor AKS

Met het CSI-stuurprogramma (Managed Lustre Container Support Interface) voor AKS hebt u toegang tot Azure Managed Lustre-opslag als permanente opslagvolumes van Kubernetes-containers die zijn geïmplementeerd in Azure Kubernetes Service (AKS).

Compatibele Kubernetes-versies

Het CSI-stuurprogramma van Azure Managed Lustre voor AKS is compatibel met Azure Kubernetes Service (AKS). Andere Kubernetes-installaties worden momenteel niet ondersteund.

AKS Kubernetes-versies 1.21 en hoger worden ondersteund. Dit omvat alle versies die momenteel beschikbaar zijn bij het maken van een nieuw AKS-cluster.

Belangrijk

Het CSI-stuurprogramma van Azure Managed Lustre werkt momenteel alleen met de Ubuntu Linux OS SKU voor knooppuntgroepen van AKS.

Compatibele Lustre-versies

Het CSI-stuurprogramma van Azure Managed Lustre voor AKS is compatibel met Azure Managed Lustre. Andere Lustre-installaties worden momenteel niet ondersteund.

De stuurprogrammaversies 0.1.10 en hoger van Azure Managed Lustre CSI worden ondersteund met de huidige versie van de Azure Managed Lustre-service.

Vereisten

Uw AKS-implementatie plannen

Er zijn verschillende opties voor het implementeren van Azure Kubernetes Service die van invloed zijn op de bewerking tussen AKS en Azure Managed Lustre.

Het netwerktype bepalen dat moet worden gebruikt met AKS

Er zijn twee netwerktypen die compatibel zijn met de Ubuntu Linux OS SKU, kubenet en het CNI-stuurprogramma (Azure Container Network Interface). Beide opties werken met het Azure Managed Lustre CSI-stuurprogramma voor AKS, maar ze hebben verschillende vereisten die moeten worden begrepen bij het instellen van virtuele netwerken en AKS. Zie Netwerkconcepten voor toepassingen in Azure Kubernetes Service (AKS) voor meer informatie over het bepalen van de juiste selectie.

Netwerkarchitectuur bepalen voor interconnectiviteit van AKS en Azure Managed Lustre

Azure Managed Lustre werkt binnen een particulier virtueel netwerk. Uw Kubernetes moet netwerkconnectiviteit hebben met het virtuele Azure Managed Lustre-netwerk. Er zijn twee veelvoorkomende manieren om het netwerk te configureren tussen Azure Managed Lustre en AKS.

  • Installeer AKS in het eigen virtuele netwerk en maak een peering van een virtueel netwerk met azure Managed Lustre Virtual Network.
  • Gebruik de optie Bring Your Own Networking in AKS om AKS te installeren op een nieuw subnet in het Azure Managed Lustre Virtual Network.

Notitie

Het is niet raadzaam AKS te installeren op hetzelfde subnet als Azure Managed Lustre.

Peering van virtuele AKS- en Azure Managed Lustre-netwerken

De optie om twee verschillende virtuele netwerken te koppelen, heeft het voordeel dat het beheer van de verschillende netwerken wordt gescheiden door verschillende bevoorrechte rollen. Peering kan ook extra flexibiliteit bieden, omdat deze kan worden gemaakt in Azure-abonnementen of -regio's. Peering van virtuele netwerken vereist coördinatie tussen de twee netwerken om te voorkomen dat conflicterende IP-netwerkruimten worden gekozen.

Diagram met twee VNets, één voor Azure Managed Lustre en één voor AKS, met een VNet-peeringpijl waarmee deze worden verbonden.

AKS installeren in een subnet in het virtuele Azure Managed Lustre-netwerk

De optie voor het installeren van het AKS-cluster in het virtuele Azure Managed Lustre-netwerk met de functie Bring Your Own Network in AKS kan voordelig zijn wanneer u scenario's wilt waarin het netwerk afzonderlijk wordt beheerd. Er moet een extra subnetformaat worden gemaakt om te voldoen aan uw AKS-netwerkvereisten in het virtuele Azure Managed Lustre-netwerk.

Er is geen scheiding van bevoegdheden voor netwerkbeheer bij het inrichten van AKS in het Azure Managed Lustre-netwerk en de AKS-service-principal heeft bevoegdheden nodig in het virtuele Azure Managed Lustre-netwerk.

Diagram met Azure Managed Lustre VNet met twee subnetten, één voor het Lustre-bestandssysteem en één voor AKS.

Overzicht van instellingen

Voer de volgende stappen uit om het CSI-stuurprogramma van Azure Managed Lustre voor Kubernetes in te schakelen:

  1. Een Azure Managed Lustre-bestandssysteem maken

  2. Een AKS Kubernetes-cluster maken

  3. Peering voor virtuele netwerken maken

  4. Installeer het Azure Managed Lustre CSI-stuurprogramma voor Kubernetes.

  5. Een permanent volume maken en configureren.

  6. Controleer de installatie door eventueel een echopod te gebruiken om te bevestigen dat het stuurprogramma werkt.

In de volgende secties wordt elke taak uitgebreider beschreven.

Een Azure Managed Lustre-bestandssysteem maken

Als u uw Azure Managed Lustre-bestandssysteemcluster nog niet hebt gemaakt, maakt u het cluster nu. Zie Een Azure Managed Lustre-bestandssysteem maken in Azure Portal voor instructies. Het stuurprogramma kan momenteel alleen worden gebruikt met een bestaand Azure Managed Lustre-bestandssysteem.

Een AKS-cluster maken

Als u uw AKS-cluster nog niet hebt gemaakt, maakt u een clusterimplementatie. Zie Een AKS-cluster (Azure Kubernetes Service) implementeren.

Peering voor virtuele netwerken maken

Notitie

Sla deze stap voor netwerkpeering over als u AKS hebt geïnstalleerd in een subnet in het virtuele Azure Managed Lustre-netwerk.

Het virtuele AKS-netwerk wordt gemaakt in een afzonderlijke resourcegroep van de resourcegroep van het AKS-cluster. U vindt de naam van deze resourcegroep door naar uw AKS-cluster te gaan in Azure Portal, waarbij u de blade Eigenschappen kiest en de resourcegroep Infrastructuur zoekt. Deze resourcegroep bevat het virtuele netwerk dat moet worden gekoppeld aan het virtuele Azure Managed Lustre-netwerk. Het komt overeen met het patroon MC_<aks-rg-name>_<aks-cluster-name>_<region>.

Raadpleeg Peering van virtuele netwerken om het virtuele AKS-netwerk te koppelen aan uw virtuele Azure-netwerk beheert Lustre.

Tip

Vanwege de naamgeving van de MC_ resourcegroepen en virtuele netwerken kunnen namen van netwerken vergelijkbaar of hetzelfde zijn voor meerdere AKS-implementaties. Let bij het instellen van peering goed op dat u de AKS-netwerken kiest die u wilt kiezen.

Verbinding maken met het AKS-cluster

Maak verbinding met het Azure Kubernetes Service-cluster door de volgende stappen uit te voeren:

  1. Open een terminalsessie met toegang tot de Azure CLI-hulpprogramma's en meld u aan bij uw Azure-account.

    az login
    
  2. Meld u aan bij het Azure-portaal.

  3. Zoek uw AKS-cluster. Selecteer de blade Overzicht en selecteer vervolgens de knop Verbinding maken en kopieer de opdracht voor clusterreferenties downloaden.

  4. Plak in de terminalsessie de opdracht om de referenties te downloaden. Dit is een opdracht die vergelijkbaar is met:

    az aks get-credentials --subscription <AKS_subscription_id> --resource_group <AKS_resource_group_name> --name <name_of_AKS>
    
  5. Installeer kubectl als deze niet aanwezig is in uw omgeving.

    az aks install-cli
    
  6. Controleer of de huidige context het AKS-cluster is dat u zojuist hebt geïnstalleerd en of u er verbinding mee kunt maken:

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

Het CSI-stuurprogramma installeren

Voer de volgende opdracht uit om het CSI-stuurprogramma te installeren:

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

Zie Azure Lustre CSI-stuurprogramma installeren op een Kubernetes-cluster voor voorbeelden van lokale installatieopdrachten.

Een permanent volume maken en configureren

Ga als volgt te werk om een permanent volume te maken voor een bestaand Azure Managed Lustre-bestandssysteem:

  1. Kopieer de volgende configuratiebestanden uit de map /docs/examples/ in de opslagplaats azurelustre-csi-driver . Als u de opslagplaats hebt gekloond toen u het CSI-stuurprogramma hebt geïnstalleerd, zijn er al lokale kopieën beschikbaar.

    • storageclass_existing_lustre.yaml
    • pvc_storageclass.yaml

    Als u de hele opslagplaats niet wilt klonen, kunt u elk bestand afzonderlijk downloaden. Open elk van de volgende koppelingen, kopieer de inhoud van het bestand en plak de inhoud in een lokaal bestand met dezelfde bestandsnaam.

  2. Werk in het bestand storageclass_existing_lustre.yaml de interne naam van het Lustre-cluster en het MSG-IP-adres bij.

    Schermopname van storageclass_existing_lustre.yaml-bestand met waarden die moeten worden vervangen.

    Beide instellingen worden weergegeven in Azure Portal, op de pagina Clientverbinding voor uw Azure Lustre-bestandssysteem.

    Schermopname van de pagina Clientverbinding van Azure Portal. Het MGS IP-adres en de naam 'lustrefs' in de koppelingsopdracht zijn gemarkeerd.

    Voer de volgende updates uit:

    • Vervang door EXISTING_LUSTRE_FS_NAME de door het systeem toegewezen interne naam van het Lustre-cluster in uw Azure Managed Lustre-bestandssysteem. De interne naam is meestal lustrefs. De interne naam is niet de naam die u het bestandssysteem hebt gegeven toen u het maakte.

      De voorgestelde mount opdracht bevat de naam die is gemarkeerd in de volgende adresreeks.

      Schermopname van een voorbeeldadrestekenreeks op de pagina Clientverbinding. De interne naam van het Lustre-cluster is gemarkeerd.

    • Vervang EXISTING_LUSTRE_IP_ADDRESS door het MSG IP-adres.

  3. Voer de volgende kubectl opdracht uit om de opslagklasse en de permanente volumeclaim te maken:

    kubectl create -f storageclass_existing_lustre.yaml
    kubectl create -f pvc_storageclass.yaml
    

De installatie controleren

Als u de installatie wilt controleren, kunt u eventueel een echopod gebruiken om te bevestigen dat het stuurprogramma werkt.

Als u tijdstempels in de console wilt weergeven tijdens schrijfbewerkingen, voert u de volgende opdrachten uit:

  1. Voeg de volgende code toe aan de echopod:

    while true; do echo $(date) >> /mnt/lustre/outfile; tail -1 /mnt/lustre/outfile; sleep 1; done
    
  2. Als u tijdstempels in de console wilt weergeven tijdens schrijfbewerkingen, voert u de volgende kubectl opdracht uit:

    `kubectl logs -f lustre-echo-date`
    

Volgende stappen