Dela via


Använda Azure Managed Lustre CSI-drivrutinen med Azure Kubernetes Service

I den här artikeln får du lära dig hur du planerar, installerar och använder Azure Managed Lustre i Azure Kubernetes Service (AKS) med Azure Lustre CSI-drivrutin för Kubernetes. Den här drivrutinen baseras på CSI-specifikationen (Container Support Interface).

Du kan använda Azure Lustre CSI-drivrutinen för Kubernetes för att få åtkomst till Azure Managed Lustre Storage som beständiga lagringsvolymer från Kubernetes-containrar som distribuerats i AKS.

Kompatibla Kubernetes-versioner

Azure Lustre CSI-drivrutinen för Kubernetes är kompatibel med AKS. Andra Kubernetes-installationer stöds inte för närvarande.

AKS Kubernetes version 1.21 och senare stöds. Det här stödet omfattar alla versioner som för närvarande är tillgängliga när du skapar ett nytt AKS-kluster.

Viktigt!

Azure Lustre CSI-drivrutinen för Kubernetes fungerar för närvarande endast med Ubuntu Linux OS SKU för nodpooler i AKS.

Kompatibla Lustre-versioner

Azure Lustre CSI-drivrutinen för Kubernetes är kompatibel med Azure Managed Lustre. Andra Lustre-installationer stöds inte för närvarande.

Azure Lustre CSI-drivrutin för Kubernetes version 0.1.10 och senare stöds med den aktuella versionen av Azure Managed Lustre-tjänsten.

Förutsättningar

Planera din AKS-distribution

När du distribuerar Azure Kubernetes Service påverkar flera alternativ åtgärden mellan AKS och Azure Managed Lustre.

Fastställa vilken nätverkstyp som ska användas med AKS

Två nätverkstyper är kompatibla med Ubuntu Linux OS SKU: kubenet och CNI-drivrutinen (Azure Container Network Interface). Båda alternativen fungerar med Azure Lustre CSI-drivrutinen för Kubernetes, men de har olika krav som du behöver förstå när du konfigurerar virtuella nätverk och AKS. Mer information om hur du bestämmer rätt val finns i Nätverksbegrepp för program i Azure Kubernetes Service (AKS).

Fastställa nätverksarkitekturen för sammankoppling av AKS och Azure Managed Lustre

Azure Managed Lustre fungerar i ett privat virtuellt nätverk. Din AKS-instans måste ha nätverksanslutning till det virtuella Azure Managed Lustre-nätverket. Det finns två vanliga sätt att konfigurera nätverk mellan Azure Managed Lustre och AKS:

  • Installera AKS i ett eget virtuellt nätverk och skapa en virtuell nätverkskoppling med ett virtuellt Azure Managed Lustre-nätverk.
  • Använd alternativet Bring your own Azure virtual network i AKS för att installera AKS i ett nytt undernät i det virtuella Azure Managed Lustre-nätverket.

Kommentar

Vi rekommenderar inte att du installerar AKS i samma undernät som Azure Managed Lustre.

Peering av virtuella AKS- och Azure Managed Lustre-nätverk

Alternativet att sammanlänka två virtuella nätverk har fördelen att dela upp hanteringen av nätverken mellan olika privilegierade roller. Peering kan också ge ytterligare flexibilitet eftersom du kan implementera den i azure-prenumerationer eller regioner. Peering för virtuella nätverk kräver samordning mellan de två nätverken för att undvika att välja motstridiga IP-nätverksutrymmen.

diagram som visar två virtuella nätverk, ett för Azure Managed Lustre och ett för AKS, med en peeringpil som ansluter dem.

Installera AKS i ett undernät i det virtuella Azure Managed Lustre-nätverket

Alternativet att installera AKS-klustret i det virtuella Azure Managed Lustre-nätverket med Bring your own Azure virtual network-funktionen i AKS kan vara fördelaktigt i scenarier där nätverket hanteras unikt. Du måste skapa ytterligare ett undernät, storleksanpassat för att uppfylla dina KRAV för AKS-nätverk, i det virtuella Azure Managed Lustre-nätverket.

Det finns ingen behörighetsavgränsning för nätverkshantering när du etablerar AKS i det virtuella Azure Managed Lustre-nätverket. AKS-tjänstens klient behöver behörigheter i Azure Managed Lustre-nätverksmiljön.

diagram som visar ett virtuellt Azure Managed Lustre-nätverk med två undernät, ett för Filsystemet Lustre och ett för AKS.

Konfigurera drivrutinen

Utför följande steg för att aktivera Azure Lustre CSI-drivrutinen för Kubernetes:

  1. Skapa ett Azure Managed Lustre-filsystemkluster.

  2. Skapa ett AKS-kluster.

  3. Skapa en peering för virtuella nätverk.

  4. Installera drivrutinen.

  5. Skapa och konfigurera en beständig volym.

  6. Kontrollera installationen med hjälp av en ekopodd för att bekräfta att drivrutinen fungerar.

I följande avsnitt beskrivs varje uppgift mer detaljerat.

Skapa ett Azure Managed Lustre-filsystemkluster

Om du inte redan har skapat ditt Azure Managed Lustre-filsystemkluster skapar du klustret nu. Anvisningar finns i Skapa ett Azure Managed Lustre-filsystem med hjälp av Azure-portalen. För närvarande kan drivrutinen endast användas med ett befintligt Azure Managed Lustre-filsystem.

Skapa ett AKS-kluster

Om du inte redan har skapat ditt AKS-kluster skapar du en klusterdistribution. Se Distribuera ett AKS-kluster (Azure Kubernetes Service) med hjälp av Azure-portalen.

Skapa en peering för virtuellt nätverk

Kommentar

Hoppa över det här nätverkspeeringssteget om du har installerat AKS i ett undernät i det virtuella Azure Managed Lustre-nätverket.

Det virtuella AKS-nätverket skapas i en separat resursgrupp från AKS-klustrets resursgrupp. Du hittar namnet på den här resursgruppen genom att gå till ditt AKS-kluster i Azure-portalen, gå till Egenskaperoch hitta resursgruppen Infrastruktur. Den här resursgruppen innehåller det virtuella nätverk som måste kopplas ihop med det virtuella Azure Managed Lustre-nätverket. Den matchar mönstret >.

Om du vill koppla samman det virtuella AKS-nätverket med ditt virtuella Azure Managed Lustre-nätverk, se Peering för virtuella nätverk.

Dricks

På grund av namngivning av MC_ resursgrupper och virtuella nätverk kan namn på nätverk vara liknande eller samma i flera AKS-distributioner. När du konfigurerar peering bör du vara noga med att välja de AKS-nätverk som du tänker välja.

Ansluta till AKS-klustret

  1. Öppna en terminalsession med åtkomst till Azure CLI-verktygen och logga in på ditt Azure-konto:

    az login
    
  2. Logga in på Azure-portalen.

  3. Hitta ditt AKS-kluster. I fönstret Översikt väljer du knappen Anslut och kopierar sedan kommandot för Ladda ned klusterautentiseringsuppgifter.

  4. I terminalsessionen klistrar du in kommandot för att ladda ned autentiseringsuppgifterna. Kommandot är likt detta:

    az aks get-credentials --subscription <AKS_subscription_id> --resource_group <AKS_resource_group_name> --name <name_of_AKS>
    
  5. Installera kubectl om det inte finns i din miljö:

    az aks install-cli
    
  6. Kontrollera att den aktuella kontexten är DET AKS-kluster där du precis har installerat autentiseringsuppgifterna och att du kan ansluta till det:

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

Installera drivrutinen

Kör följande kommando för att installera Azure Lustre CSI-drivrutinen för Kubernetes:

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

Information om hur du hämtar exempelkommandon för en lokal installation finns i Installera Azure Lustre CSI-drivrutinen på ett Kubernetes-kluster.

Skapa och konfigurera en beständiga volym

Så här skapar du en beständig volym för ett befintligt Azure Managed Lustre-filsystem:

  1. Kopiera följande konfigurationsfiler från mappen /docs/examples/ i lagringsplatsen azurelustre-csi-driver . Om du klonade lagringsplatsen när du installerade drivrutinenhar du lokala kopior redan tillgängliga.

    • storageclass_existing_lustre.yaml
    • pvc_storageclass.yaml

    Om du inte vill klona hela lagringsplatsen kan du ladda ned varje fil individuellt. Öppna var och en av följande länkar, kopiera filens innehåll och klistra sedan in innehållet i en lokal fil med samma filnamn.

  2. I filen storageclass_existing_lustre.yaml uppdaterar du det interna namnet på Lustre-klustret och IP-adressen för Lustre Management Service (MGS).

    Skärmbild av filen storageclass_existing_lustre.yaml med värden som ska ersättas markerade.

    Båda inställningarna visas i Azure-portalen i fönstret Klientanslutning för ditt Azure Managed Lustre-filsystem.

    Skärmbild av fönstret för klientanslutning i Azure-portalen. MGS IP-adressen och namnet

    Gör följande uppdateringar:

    • Ersätt EXISTING_LUSTRE_FS_NAME med det systemtilldelade interna namnet på Lustre-klustret i ditt Azure Managed Lustre-filsystem. Det interna namnet är vanligtvis lustrefs. Det interna namnet är inte det namn som du gav filsystemet när du skapade det.

      Det föreslagna mount kommandot innehåller namnet som är markerat i följande adresssträng.

      Skärmbild av en exempeladresssträng i fönstret för klientanslutning. Det interna namnet på Lustre-klustret är markerat.

    • Ersätt EXISTING_LUSTRE_IP_ADDRESS med MGS IP-adressen.

  3. Kör följande kubectl kommando för att skapa lagringsklassen och det beständiga volymanspråket:

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

Kontrollera installationen

Om du vill kontrollera installationen kan du använda en ekopodd för att bekräfta att drivrutinen fungerar.

Om du vill visa tidsstämplar i konsolen under skrivningar kör du följande kommandon:

  1. Lägg till följande kod i ekopodden:

    while true; do echo $(date) >> /mnt/lustre/outfile; tail -1 /mnt/lustre/outfile; sleep 1; done
    
  2. Om du vill visa tidsstämplar i konsolen under skrivningar kör du följande kubectl kommando:

    `kubectl logs -f lustre-echo-date`