Share via


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

Den här artikeln beskriver hur du planerar, installerar och använder Azure Managed Lustre i Azure Kubernetes Service (AKS) med Azure Managed Lustre Kubernetes containersupportgränssnittsdrivrutin (Azure Managed Lustre CSI-drivrutin).

Om Azure Managed Lustre CSI-drivrutinen för AKS

Med CSI-drivrutinen (Azure Managed Lustre Container Support Interface) för AKS kan du komma åt Azure Managed Lustre Storage som beständiga lagringsvolymer från Kubernetes-containrar som distribuerats i Azure Kubernetes Service (AKS).

Kompatibla Kubernetes-versioner

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

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

Viktigt

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

Kompatibla Lustre-versioner

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

Azure Managed Lustre CSI-drivrutinsversionerna 0.1.10 och senare stöds med den aktuella versionen av Azure Managed Lustre-tjänsten.

Förutsättningar

Planera din AKS-distribution

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

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

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

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

Azure Managed Lustre fungerar i ett privat virtuellt nätverk. Kubernetes 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 egna Virtual Network och skapa en peering för virtuella nätverk med Azure Managed Lustre-Virtual Network.
  • Använd alternativet Bring Your Own Networking i AKS för att installera AKS i ett nytt undernät på Azure Managed Lustre-Virtual Network.

Anteckning

Installation av AKS i samma undernät som Azure Managed Lustre rekommenderas inte.

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

Alternativet att peerkoppla två olika virtuella nätverk har fördelen att separera hanteringen av de olika nätverken till olika privilegierade roller. Peering kan också ge ytterligare flexibilitet eftersom det kan göras i Azure-prenumerationer eller regioner. Virtual Network peering 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 VNet-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 funktionen Bring Your Own Network i AKS kan vara fördelaktigt där du vill ha scenarier där nätverket hanteras unikt. Ytterligare ett undernät som uppfyller dina AKS-nätverkskrav måste skapas i det virtuella Azure Managed Lustre-nätverket.

Det finns ingen behörighetsavgränsning för nätverkshantering vid etablering av AKS till Azure Managed Lustre Network och AKS-tjänstens huvudnamn behöver privilegier i det virtuella Azure Managed Lustre-nätverket.

Diagram som visar virtuella Azure Managed Lustre-nätverk med två undernät, ett för Lustre-filsystemet och ett för AKS.

Installationsöversikt

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

  1. Skapa ett Azure Managed Lustre-filsystem

  2. Skapa ett AKS Kubernetes-kluster

  3. Skapa peering för virtuella nätverk

  4. Installera Azure Managed Lustre CSI-drivrutinen för Kubernetes.

  5. Skapa och konfigurera en beständig volym.

  6. Kontrollera installationen genom att eventuellt använda en ekopodd för att bekräfta att drivrutinen fungerar.

I följande avsnitt beskrivs varje uppgift mer detaljerat.

Skapa ett Azure Managed Lustre-filsystem

Om du inte redan har skapat ditt Azure Managed Lustre-filsystemkluster skapar du klustret nu. Anvisningar finns i Skapa ett Azure Managed Lustre-filsystem i Azure Portal. 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 aks-klustret skapar du en klusterdistribution. Se Distribuera ett Azure Kubernetes Service-kluster (AKS).

Skapa peering för virtuella nätverk

Anteckning

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 AKS-klustret i Azure-portalen och välja bladet Egenskaper och 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 MC_<aks-rg-name>_<aks-cluster-name>_<region>.

Läs Virtual Network peering för att peerkoppla det virtuella AKS-nätverket med ditt virtuella Azure Manages Lustre-nätverk.

Tips

På grund av namngivning av MC_ resursgrupper och virtuella nätverk kan namn på nätverk vara liknande eller samma för flera AKS-distributioner. När du konfigurerar peering bör du vara uppmärksam på att du väljer de AKS-nätverk som du vill välja.

Ansluta till AKS-klustret

Anslut till Azure Kubernetes Service-klustret genom att göra följande:

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

    az login
    
  2. Logga in på Azure Portal.

  3. Leta reda på ditt AKS-kluster. Välj bladet Översikt och välj sedan knappen Anslut och kopiera kommandot för Ladda ned klusterautentiseringsuppgifter.

  4. I terminalsessionen klistrar du in kommandot för att ladda ned autentiseringsuppgifterna. Det är ett kommando som liknar:

    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 som du precis har installerat autentiseringsuppgifterna och att du kan ansluta till det:

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

Installera CSI-drivrutinen

Installera CSI-drivrutinen genom att köra följande kommando:

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

Exempel på lokala installationskommandon finns i Installera Azure Lustre CSI-drivrutin i ett Kubernetes-kluster.

Skapa och konfigurera en beständig volym

Gör följande för att skapa en beständig volym för ett befintligt Azure Managed Lustre-filsystem:

  1. Kopiera följande konfigurationsfiler från mappen /docs/examples/ på lagringsplatsen azurelustre-csi-driver . Om du klonade lagringsplatsen när du installerade CSI-drivrutinen har du redan lokala kopior 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. Uppdatera det interna namnet på Lustre-klustret och MSG-IP-adressen i filen storageclass_existing_lustre.yaml .

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

    Båda inställningarna visas i Azure Portal på sidan Klientanslutning för ditt Azure Lustre-filsystem.

    Skärmbild av sidan Azure Portal klientanslutning. MGS IP-adressen och

    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 på sidan Klientanslutning. Det interna namnet på Lustre-klustret är markerat.

    • Ersätt EXISTING_LUSTRE_IP_ADDRESS med MSG 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 echo-podd 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`
    

Nästa steg