Używanie sterownika CSI zarządzanego lustra platformy Azure z Azure Kubernetes Service
W tym artykule opisano sposób planowania, instalowania i używania narzędzia Azure Managed Lustre w usłudze Azure Kubernetes Service (AKS) za pomocą sterownika interfejsu obsługi kontenera Kubernetes Managed Lustre platformy Azure (sterownik AZURE Managed Lustre CSI).
Informacje o sterowniku CSI managed lustre platformy Azure dla usługi AKS
Sterownik azure Managed Lustre Container Support Interface (CSI) dla usługi AKS umożliwia dostęp do magazynu Azure Managed Lustre jako trwałych woluminów magazynu z kontenerów Kubernetes wdrożonych w Azure Kubernetes Service (AKS).
Zgodne wersje platformy Kubernetes
Sterownik CSI managed Lustre platformy Azure dla usługi AKS jest zgodny z Azure Kubernetes Service (AKS). Inne instalacje platformy Kubernetes nie są obecnie obsługiwane.
Obsługiwane są usługi AKS Kubernetes w wersji 1.21 lub nowszej. Obejmuje to wszystkie wersje, które są obecnie dostępne podczas tworzenia nowego klastra usługi AKS.
Ważne
Sterownik AZURE Managed Lustre CSI obecnie współpracuje tylko z jednostkami SKU systemu operacyjnego Ubuntu Linux dla pul węzłów usługi AKS.
Zgodne wersje lustra
Sterownik AZURE Managed Lustre CSI dla usługi AKS jest zgodny z usługą Azure Managed Lustre. Inne instalacje Lustre nie są obecnie obsługiwane.
Sterownik Azure Managed Lustre CSI w wersji 0.1.10 lub nowszej jest obsługiwany z bieżącą wersją usługi Azure Managed Lustre.
Wymagania wstępne
- Konto platformy Azure z aktywną subskrypcją. Utwórz bezpłatne konto.
- Środowisko terminalu z zainstalowanymi narzędziami interfejsu wiersza polecenia platformy Azure. Zobacz Wprowadzenie do interfejsu wiersza polecenia platformy Azure
- kubectl, narzędzie do zarządzania Kubernetes, jest instalowane w środowisku terminalu. Zobacz Szybki start: wdrażanie klastra Azure Kubernetes Service (AKS) przy użyciu interfejsu wiersza polecenia platformy Azure
- Tworzenie wdrożenia usługi Azure Managed Lustre. Zobacz dokumentację systemu plików Azure Managed Lustre
Planowanie wdrożenia usługi AKS
Istnieje kilka opcji wdrażania Azure Kubernetes Service, które wpływają na operację między usługą AKS i usługą Azure Managed Lustre.
Określanie typu sieci do użycia z usługą AKS
Istnieją dwa typy sieci, które są zgodne z jednostkami SKU systemu operacyjnego Ubuntu Linux, kubenet i sterownikiem interfejsu sieciowego kontenera platformy Azure (CNI). Obie opcje działają z sterownikiem CSI Managed Lustre platformy Azure dla usługi AKS, ale mają różne wymagania, które należy zrozumieć podczas konfigurowania sieci wirtualnej i usługi AKS. Aby uzyskać więcej informacji na temat określania właściwego wyboru, zobacz Pojęcia dotyczące sieci dla aplikacji w usłudze Azure Kubernetes Service (AKS).
Określanie architektury sieci na potrzeby połączenia między usługami AKS i Azure Managed Lustre
Usługa Azure Managed Lustre działa w prywatnej sieci wirtualnej. Platforma Kubernetes musi mieć łączność sieciową z siecią wirtualną Azure Managed Lustre. Istnieją dwa typowe sposoby konfigurowania sieci między usługą Azure Managed Lustre i usługą AKS.
- Zainstaluj usługę AKS we własnym Virtual Network i utwórz komunikację równorzędną sieci wirtualnych za pomocą Virtual Network Azure Managed Lustre.
- Użyj opcji Bring your Own Networking w usłudze AKS, aby zainstalować usługę AKS w nowej podsieci w Virtual Network Azure Managed Lustre.
Uwaga
Instalowanie usługi AKS w tej samej podsieci co usługa Azure Managed Lustre nie jest zalecana.
Komunikacja równorzędna AKS i sieci wirtualne Lustre zarządzane przez platformę Azure
Opcja komunikacji równorzędnej dwóch różnych sieci wirtualnych ma zaletę rozdzielenia zarządzania różnymi sieciami na różne uprzywilejowane role. Komunikacja równorzędna może również zapewnić dodatkową elastyczność, ponieważ można ją wykonywać w ramach subskrypcji lub regionów platformy Azure. Virtual Network komunikacja równorzędna będzie wymagać koordynacji między dwiema sieciami, aby uniknąć wybierania konfliktowych przestrzeni sieciowych IP.
Instalowanie usługi AKS w podsieci w sieci wirtualnej Azure Managed Lustre
Opcja zainstalowania klastra AKS w sieci wirtualnej Azure Managed Lustre z funkcją Bring Your Own Network w usłudze AKS może być korzystna w przypadku scenariuszy, w których sieć jest zarządzana pojedynczo. W sieci wirtualnej Azure Managed Lustre należy utworzyć dodatkową podsieć spełniającą wymagania dotyczące sieci usługi AKS.
Nie ma separacji uprawnień do zarządzania siecią podczas aprowizowania usługi AKS w sieci Azure Managed Lustre Network, a jednostka usługi AKS będzie potrzebować uprawnień w sieci wirtualnej Azure Managed Lustre.
Omówienie konfiguracji
Aby włączyć sterownik CSI Managed Lustre platformy Azure dla platformy Kubernetes, wykonaj następujące kroki:
Zainstaluj sterownik CSI Managed Lustre platformy Azure dla platformy Kubernetes.
Sprawdź instalację , opcjonalnie używając zasobnika echa, aby potwierdzić, że sterownik działa.
W poniższych sekcjach szczegółowo opisano każde zadanie.
Tworzenie systemu plików Azure Managed Lustre
Jeśli nie utworzono jeszcze klastra systemu plików Azure Managed Lustre, utwórz klaster teraz. Aby uzyskać instrukcje, zobacz Tworzenie systemu plików Azure Managed Lustre w Azure Portal. Obecnie sterownik może być używany tylko z istniejącym systemem plików Azure Managed Lustre.
Tworzenie klastra AKS
Jeśli klaster usługi AKS nie został jeszcze utworzony, utwórz wdrożenie klastra. Zobacz Wdrażanie klastra Azure Kubernetes Service (AKS).
Tworzenie komunikacji równorzędnej sieci wirtualnej
Uwaga
Pomiń ten krok komunikacji równorzędnej sieci, jeśli usługa AKS została zainstalowana w podsieci w sieci wirtualnej Azure Managed Lustre.
Sieć wirtualna usługi AKS jest tworzona w oddzielnej grupie zasobów z grupy zasobów klastra usługi AKS. Nazwę tej grupy zasobów można znaleźć, przechodząc do klastra usługi AKS w witrynie Azure Portal, wybierając blok Właściwości i znajdując grupę zasobów infrastruktury . Ta grupa zasobów zawiera sieć wirtualną, która musi być sparowana z siecią wirtualną Azure Managed Lustre. Jest on zgodny ze wzorcem MC_<aks-rg-name>_<aks-cluster-name>_<region>.
Zapoznaj się z Virtual Network komunikacja równorzędna w celu komunikacji równorzędnej sieci wirtualnej usługi AKS za pomocą sieci wirtualnej Azure Manages Lustre.
Porada
Ze względu na nazewnictwo MC_ grup zasobów i sieci wirtualnych nazwy sieci mogą być podobne lub takie same w wielu wdrożeniach usługi AKS. Podczas konfigurowania komunikacji równorzędnej należy zwrócić szczególną uwagę na wybór sieci usługi AKS, które mają być wybrane.
Nawiązywanie połączenia z klastrem usługi AKS
Połącz się z klastrem Azure Kubernetes Service, wykonując następujące czynności:
Otwórz sesję terminalu z dostępem do narzędzi interfejsu wiersza polecenia platformy Azure i zaloguj się do konta platformy Azure.
az login
Zaloguj się do Azure Portal.
Znajdź klaster usługi AKS. Wybierz blok Przegląd , a następnie wybierz przycisk Połącz i skopiuj polecenie Pobierz poświadczenia klastra.
W sesji terminalu wklej polecenie , aby pobrać poświadczenia. Będzie to polecenie podobne do:
az aks get-credentials --subscription <AKS_subscription_id> --resource_group <AKS_resource_group_name> --name <name_of_AKS>
Zainstaluj narzędzie kubectl, jeśli nie jest obecne w środowisku.
az aks install-cli
Sprawdź, czy bieżący kontekst jest właśnie zainstalowanym klastrem usługi AKS i czy można z nim nawiązać połączenie:
kubectl config current-context kubectl get deployments --all-namespaces=true
Instalowanie sterownika CSI
Aby zainstalować sterownik CSI, uruchom następujące polecenie:
curl -skSL https://raw.githubusercontent.com/kubernetes-sigs/azurelustre-csi-driver/main/deploy/install-driver.sh | bash
Aby zapoznać się z przykładami poleceń instalacji lokalnej, zobacz Instalowanie sterownika Azure Lustre CSI w klastrze Kubernetes.
Tworzenie i konfigurowanie woluminu trwałego
Aby utworzyć wolumin trwały dla istniejącego systemu plików Azure Managed Lustre, wykonaj następujące kroki:
Skopiuj następujące pliki konfiguracji z folderu /docs/examples/ w repozytorium azurelustre-csi-driver . Jeśli sklonujesz repozytorium po zainstalowaniu sterownika CSI, dostępne są już lokalne kopie.
- storageclass_existing_lustre.yaml
- pvc_storageclass.yaml
Jeśli nie chcesz klonować całego repozytorium, możesz pobrać każdy plik osobno. Otwórz każde z poniższych linków, skopiuj zawartość pliku, a następnie wklej zawartość do pliku lokalnego o tej samej nazwie pliku.
W pliku storageclass_existing_lustre.yaml zaktualizuj wewnętrzną nazwę klastra Lustre i adres IP usługi MSG.
Oba ustawienia są wyświetlane w Azure Portal na stronie Połączenie klienta dla systemu plików Azure Lustre.
Wprowadź następujące aktualizacje:
Zastąp
EXISTING_LUSTRE_FS_NAME
element nazwą wewnętrzną przypisaną przez system klastra Lustre w zarządzanym systemie plików Lustre platformy Azure. Nazwa wewnętrzna to zwyklelustrefs
. Nazwa wewnętrzna nie jest nazwą nadaną systemowi plików podczas jego tworzenia.Sugerowane
mount
polecenie zawiera nazwę wyróżnioną w poniższym ciągu adresu.Zastąp ciąg
EXISTING_LUSTRE_IP_ADDRESS
adresem IP usługi MSG.
Aby utworzyć klasę magazynu i oświadczenie trwałego woluminu, uruchom następujące
kubectl
polecenie:kubectl create -f storageclass_existing_lustre.yaml kubectl create -f pvc_storageclass.yaml
Sprawdzanie instalacji
Jeśli chcesz sprawdzić instalację, możesz opcjonalnie użyć zasobnika echa, aby potwierdzić, że sterownik działa.
Aby wyświetlić znaczniki czasu w konsoli podczas zapisu, uruchom następujące polecenia:
Dodaj następujący kod do zasobnika echo:
while true; do echo $(date) >> /mnt/lustre/outfile; tail -1 /mnt/lustre/outfile; sleep 1; done
Aby wyświetlić znaczniki czasu w konsoli podczas zapisu, uruchom następujące
kubectl
polecenie:`kubectl logs -f lustre-echo-date`
Następne kroki
- Dowiedz się, jak eksportować pliki z systemu plików za pomocą zadania archiwum.