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
- Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
- En terminalmiljö med Azure CLI-verktygen installerade. Se Kom igång med Azure CLI.
- kubectl, kubernetes-hanteringsverktyget, installerat i terminalmiljön. Se Snabbstart: Distribuera ett AKS-kluster (Azure Kubernetes Service) med hjälp av Azure CLI-.
- En driftsättning av Azure Managed Lustre. Se dokumentationen för Azure Managed Lustre .
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.
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.
Konfigurera drivrutinen
Utför följande steg för att aktivera Azure Lustre CSI-drivrutinen för Kubernetes:
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
Öppna en terminalsession med åtkomst till Azure CLI-verktygen och logga in på ditt Azure-konto:
az login
Logga in på Azure-portalen.
Hitta ditt AKS-kluster. I fönstret Översikt väljer du knappen Anslut och kopierar sedan kommandot för Ladda ned klusterautentiseringsuppgifter.
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>
Installera kubectl om det inte finns i din miljö:
az aks install-cli
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:
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.
I filen storageclass_existing_lustre.yaml uppdaterar du det interna namnet på Lustre-klustret och IP-adressen för Lustre Management Service (MGS).
Båda inställningarna visas i Azure-portalen i fönstret Klientanslutning för ditt Azure Managed Lustre-filsystem.
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 vanligtvislustrefs
. 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.Ersätt
EXISTING_LUSTRE_IP_ADDRESS
med MGS IP-adressen.
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:
Lägg till följande kod i ekopodden:
while true; do echo $(date) >> /mnt/lustre/outfile; tail -1 /mnt/lustre/outfile; sleep 1; done
Om du vill visa tidsstämplar i konsolen under skrivningar kör du följande
kubectl
kommando:`kubectl logs -f lustre-echo-date`