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
- Een Azure-account met een actief abonnement. Gratis een account maken
- Een terminalomgeving waarop de Azure CLI-hulpprogramma's zijn geïnstalleerd. Zie Aan de slag met Azure CLI
- kubectl, het Hulpprogramma voor Kubernetes-beheer, wordt geïnstalleerd in uw terminalomgeving. Zie quickstart: Een AKS-cluster (Azure Kubernetes Service) implementeren met behulp van Azure CLI
- Een Azure Managed Lustre-implementatie maken. Raadpleeg de documentatie voor azure Managed Lustre File System
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.
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.
Overzicht van instellingen
Voer de volgende stappen uit om het CSI-stuurprogramma van Azure Managed Lustre voor Kubernetes in te schakelen:
Installeer het Azure Managed Lustre CSI-stuurprogramma voor Kubernetes.
Een permanent volume maken en configureren.
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:
Open een terminalsessie met toegang tot de Azure CLI-hulpprogramma's en meld u aan bij uw Azure-account.
az login
Meld u aan bij het Azure-portaal.
Zoek uw AKS-cluster. Selecteer de blade Overzicht en selecteer vervolgens de knop Verbinding maken en kopieer de opdracht voor clusterreferenties downloaden.
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>
Installeer kubectl als deze niet aanwezig is in uw omgeving.
az aks install-cli
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:
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.
Werk in het bestand storageclass_existing_lustre.yaml de interne naam van het Lustre-cluster en het MSG-IP-adres bij.
Beide instellingen worden weergegeven in Azure Portal, op de pagina Clientverbinding voor uw Azure Lustre-bestandssysteem.
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 meestallustrefs
. 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.Vervang
EXISTING_LUSTRE_IP_ADDRESS
door het MSG IP-adres.
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:
Voeg de volgende code toe aan de echopod:
while true; do echo $(date) >> /mnt/lustre/outfile; tail -1 /mnt/lustre/outfile; sleep 1; done
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
- Meer informatie over het exporteren van bestanden uit uw bestandssysteem met een archieftaak.