Het Azure Managed Lustre CSI-stuurprogramma gebruiken met Azure Kubernetes Service
In dit artikel wordt beschreven hoe u Azure Managed Lustre in Azure Kubernetes Service (AKS) plant, installeert en gebruikt met het Azure Managed Lustre Kubernetes-stuurprogramma voor containerondersteuningsinterface (Azure Managed Lustre CSI-stuurprogramma).
Over het Azure Managed Lustre CSI-stuurprogramma voor AKS
Met het CSI-stuurprogramma (Azure Managed Lustre Container Support Interface) voor AKS hebt u toegang tot Azure Managed Lustre Storage als permanente opslagvolumes vanuit Kubernetes-containers die zijn geïmplementeerd in Azure Kubernetes Service (AKS).
Compatibele Kubernetes-versies
Het Azure Managed Lustre CSI-stuurprogramma voor AKS is compatibel met Azure Kubernetes Service (AKS). Andere Kubernetes-installaties worden momenteel niet ondersteund.
AKS Kubernetes versie 1.21 en hoger worden ondersteund. Dit omvat alle versies die momenteel beschikbaar zijn bij het maken van een nieuw AKS-cluster.
Belangrijk
Het Azure Managed Lustre CSI-stuurprogramma werkt momenteel alleen met de Ubuntu Linux OS-SKU voor knooppuntgroepen van AKS.
Compatibele Lustre-versies
Het Azure Managed Lustre CSI-stuurprogramma voor AKS is compatibel met Azure Managed Lustre. Andere Lustre-installaties worden momenteel niet ondersteund.
De Azure Managed Lustre CSI-stuurprogrammaversies 0.1.10 en hoger 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 met de Azure CLI-hulpprogramma's geïnstalleerd. Zie Aan de slag met Azure CLI
- kubectl, het Kubernetes-beheerprogramma, 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. Zie Documentatie voor Azure Managed Lustre File System
Uw AKS-implementatie plannen
Er zijn verschillende opties bij het implementeren van Azure Kubernetes Service die van invloed zijn op de bewerking tussen AKS en Azure Managed Lustre.
Bepaal het netwerktype dat moet worden gebruikt met AKS
Er zijn twee netwerktypen die compatibel zijn met de Ubuntu Linux OS-SKU, kubenet en het stuurprogramma Azure Container Network Interface (CNI). 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 virtueel privénetwerk. Uw Kubernetes moet een netwerkverbinding hebben met het virtuele azure managed lustre-netwerk. Er zijn twee veelgebruikte manieren om het netwerk tussen Azure Managed Lustre en AKS te configureren.
- Installeer AKS in een eigen Virtual Network en maak een peering voor een virtueel netwerk met de Azure Managed Lustre-Virtual Network.
- Gebruik de optie Bring Your Own Networking in AKS om AKS te installeren op een nieuw subnet op de Azure Managed Lustre-Virtual Network.
Notitie
Het installeren van AKS op hetzelfde subnet als Azure Managed Lustre wordt niet aanbevolen.
Peering van virtuele AKS- en Azure Managed Lustre-netwerken
De optie voor het peeren van twee verschillende virtuele netwerken heeft als 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. Virtual Network peering 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 gebruiken waarin het netwerk afzonderlijk wordt beheerd. Er moet een extra subnet worden gemaakt om te voldoen aan uw AKS-netwerkvereisten in het virtuele netwerk Azure Managed Lustre.
Er is geen scheiding van bevoegdheden voor netwerkbeheer bij het inrichten van AKS in het Azure Managed Lustre Network en de AKS-service-principal heeft bevoegdheden nodig op het virtuele azure managed lustre-netwerk.
Overzicht van het instellen
Voer de volgende stappen uit om het Azure Managed Lustre CSI-stuurprogramma voor Kubernetes in te schakelen:
Installeer het Azure Managed Lustre CSI-stuurprogramma voor Kubernetes.
Controleer de installatie door optioneel een echopod te gebruiken om te controleren of 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 de Azure Portal voor instructies. Op dit moment kan het stuurprogramma 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 netwerk Azure Managed Lustre.
Het virtuele AKS-netwerk wordt gemaakt in een afzonderlijke resourcegroep van de resourcegroep van het AKS-cluster. U kunt de naam van deze resourcegroep vinden door naar uw AKS-cluster in Azure Portal te gaan en de blade Eigenschappen te kiezen en de resourcegroep Infrastructuur te zoeken. Deze resourcegroep bevat het virtuele netwerk dat moet worden gekoppeld aan het virtuele netwerk Azure Managed Lustre. Het komt overeen met het patroon MC_<aks-rg-name>_<aks-cluster-name>_<region>.
Raadpleeg Virtual Network Peering om het virtuele AKS-netwerk te peeren met uw virtuele netwerk Azure Manages 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 de Azure Portal.
Zoek uw AKS-cluster. Selecteer de blade Overzicht , selecteer vervolgens de knop Verbinding maken en kopieer de opdracht voor Clusterreferenties downloaden.
Plak in de terminalsessie de opdracht om de referenties te downloaden. Het 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 waarop u de referenties 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
Voer de volgende stappen uit 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 installeerde, zijn er al lokale kopieën beschikbaar.
- storageclass_existing_lustre.yaml
- pvc_storageclass.yaml
Als u niet de hele opslagplaats 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 de Azure Portal, op de pagina Clientverbinding voor uw Azure Lustre-bestandssysteem.
Breng de volgende updates aan:
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 aan het bestandssysteem hebt gegeven toen u het maakte.De voorgestelde
mount
opdracht bevat de naam die is gemarkeerd in de volgende adrestekenreeks.Vervang door
EXISTING_LUSTRE_IP_ADDRESS
het IP-adres van MSG.
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 uw installatie wilt controleren, kunt u eventueel een echopod gebruiken om te bevestigen dat het stuurprogramma werkt.
Voer de volgende opdrachten uit om tijdstempels in de console weer te geven tijdens schrijfbewerkingen:
Voeg de volgende code toe aan de echopod:
while true; do echo $(date) >> /mnt/lustre/outfile; tail -1 /mnt/lustre/outfile; sleep 1; done
Voer de volgende
kubectl
opdracht uit om tijdstempels in de console weer te geven tijdens schrijfbewerkingen:`kubectl logs -f lustre-echo-date`
Volgende stappen
- Meer informatie over het exporteren van bestanden uit uw bestandssysteem met een archieftaak.