Używanie sterownika CSI managed Lustre platformy Azure z usługą Azure Kubernetes Service
Z tego artykułu dowiesz się, jak planować, instalować i używać Azure Managed Lustre w usłudze Azure Kubernetes Service (AKS) za pomocą sterownika Azure Lustre CSI dla platformy Kubernetes. Ten sterownik jest oparty na specyfikacji interfejsu obsługi kontenerów (CSI).
Sterownik Azure Lustre CSI dla Kubernetes umożliwia dostęp do przechowywania Azure Managed Lustre jako trwałych woluminów z kontenerów Kubernetes wdrożonych w usłudze AKS.
Zgodne wersje platformy Kubernetes
Sterownik Azure Lustre CSI dla platformy Kubernetes jest zgodny z usługą AKS. Inne instalacje platformy Kubernetes nie są obecnie obsługiwane.
Obsługiwane są rozwiązania AKS Kubernetes w wersji 1.21 lub nowszej. Ta obsługa obejmuje wszystkie wersje, które są obecnie dostępne podczas tworzenia nowego klastra AKS.
Ważne
Sterownik Azure Lustre CSI dla platformy Kubernetes obecnie działa tylko z systemem operacyjnym Ubuntu Linux dla pul węzłów AKS.
Zgodne wersje lustra
Sterownik Azure Lustre CSI dla platformy Kubernetes jest zgodny z usługą Azure Managed Lustre. Inne instalacje Lustre nie są obecnie obsługiwane.
Sterownik Azure Lustre CSI dla platformy Kubernetes 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 konto bezpłatnie.
- Środowisko terminalowe z zainstalowanymi narzędziami interfejsu wiersza polecenia platformy Azure. Zobacz Wprowadzenie do Azure CLI.
- kubectl, narzędzie do zarządzania Kubernetes, jest zainstalowane w środowisku terminalu. Zobacz Szybki start: wdrażanie klastra usługi Azure Kubernetes Service (AKS) przy użyciu interfejsu wiersza polecenia platformy Azure.
- Wdrożenie usługi Azure Managed Lustre. Zapoznaj się z dokumentacją Azure Managed Lustre .
Planowanie wdrożenia usługi AKS
Podczas wdrażania usługi Azure Kubernetes Service kilka opcji wpływa na operację między usługą AKS i usługą Azure Managed Lustre.
Określanie typu sieci do użycia z usługą AKS
Dwa typy sieci są zgodne z jednostkami SKU systemu operacyjnego Ubuntu Linux: kubenet i sterownikem interfejsu sieciowego kontenera platformy Azure (CNI). Obie opcje współpracują ze sterownikiem Azure Lustre CSI dla platformy Kubernetes, 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. Wystąpienie usługi AKS 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łasnej sieci wirtualnej i utwórz peering sieci wirtualnej z siecią wirtualną Azure Managed Lustre.
- Użyj opcji Bring your own Azure virtual network w usłudze AKS, aby zainstalować usługę AKS w nowej podsieci w sieci wirtualnej Azure Managed Lustre.
Uwaga
Nie zalecamy instalowania usługi AKS w tej samej podsieci co usługa Azure Managed Lustre.
Komunikacja równorzędna sieci wirtualnych AKS i Azure Managed Lustre
Opcja połączenia równorzędnego dwóch sieci wirtualnych umożliwia rozdzielenie zarządzania sieciami na różne uprzywilejowane role. Peering może również zapewnić dodatkową elastyczność, ponieważ można go zaimplementować w subskrypcjach lub regionach platformy Azure. Sparowanie sieci wirtualnych wymaga koordynacji między dwiema sieciami w celu uniknięcia wyboru konfliktowych przestrzeni adresowych 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 Azure virtual network w usłudze AKS może być korzystna w scenariuszach, w których sieć jest zarządzana pojedynczo. Musisz utworzyć dodatkową podsieć o rozmiarze odpowiadającym wymaganiom sieciowym usługi AKS w wirtualnej sieci Azure Managed Lustre.
Podczas aprowizowania usługi AKS w wirtualnej sieci Azure Managed Lustre nie ma separacji uprawnień do zarządzania siecią. Jednostka usługi AKS wymaga uprawnień w sieci wirtualnej Azure Managed Lustre.
Konfigurowanie sterownika
Aby włączyć sterownik Azure Lustre CSI dla platformy Kubernetes, wykonaj następujące kroki:
Tworzenie i konfigurowanie woluminu trwałego.
Sprawdź instalację, opcjonalnie za pomocą zasobnika echa, aby potwierdzić, że sterownik działa.
W poniższych sekcjach opisano szczegółowo każde zadanie.
Tworzenie klastra systemu plików Azure Managed Lustre
Jeśli klaster systemu plików Azure Managed Lustre nie został jeszcze utworzony, utwórz klaster teraz. Aby uzyskać instrukcje, zobacz Tworzenie zarządzanego systemu plików Lustre platformy Azure przy użyciu witryny Azure Portal. Obecnie sterownik może być używany tylko z istniejącym systemem plików Azure Managed Lustre.
Utwórz klaster AKS
Jeśli klaster usługi AKS nie został jeszcze utworzony, utwórz wdrożenie klastra. Zobacz Wdrożenie klastra usługi Azure Kubernetes Service (AKS) przy użyciu portalu Azure.
Tworzenie połączenia równorzędnego sieci wirtualnych
Uwaga
Pomiń ten krok peeringu sieciowego, jeśli AKS został zainstalowany w podsieci w sieci wirtualnej Azure Managed Lustre.
Sieć wirtualna usługi AKS jest tworzona w oddzielnej grupie zasobów od 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, przechodząc do Właściwościi znajdując grupę zasobów Infrastructure. Ta grupa zasobów zawiera sieć wirtualną, która musi być sparowana z siecią wirtualną Azure Managed Lustre. Pasuje do wzorca >.
Aby połączyć sieć wirtualną usługi AKS z siecią wirtualną Azure Managed Lustre, zapoznaj się z połączenie równorzędne sieci wirtualnych.
Napiwek
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 zachować ostrożność, aby wybrać sieci AKS, które zamierzasz użyć.
Nawiązywanie połączenia z klastrem usługi AKS
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ę w witrynie Azure Portal.
Znajdź klaster usługi AKS. W okienku Przegląd kliknij przycisk Połącz, następnie skopiuj polecenie Pobierz poświadczenia klastra.
W sesji terminalu wklej polecenie , aby pobrać poświadczenia. Polecenie jest podobne do następującego:
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 istnieje w twoim środowisku:
az aks install-cli
Sprawdź, czy bieżącym kontekstem jest klaster usługi AKS, w którym właśnie zainstalowano poświadczenia i czy można z nim nawiązać połączenie:
kubectl config current-context kubectl get deployments --all-namespaces=true
Instalowanie sterownika
Aby zainstalować sterownik Azure Lustre CSI dla platformy Kubernetes, uruchom następujące polecenie:
curl -skSL https://raw.githubusercontent.com/kubernetes-sigs/azurelustre-csi-driver/main/deploy/install-driver.sh | bash
Aby uzyskać przykładowe polecenia instalacji lokalnej, zobacz
Tworzenie i konfigurowanie woluminu trwałego
Aby utworzyć wolumin trwały dla istniejącego systemu plików Azure Managed Lustre:
Skopiuj następujące pliki konfiguracji z folderu /docs/examples/ w repozytorium azurelustre-csi-driver . Jeśli sklonujesz repozytorium podczas zainstalowano sterownik, 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.
W pliku
storageclass_existing_lustre.yaml zaktualizuj wewnętrzną nazwę klastra Lustre i adres IP usługi Lustre Management Service (MGS). Oba ustawienia są wyświetlane w portalu Azure w okienku połączenia klienta dla systemu plików Azure Managed Lustre.
Wprowadź następujące aktualizacje:
Zastąp
EXISTING_LUSTRE_FS_NAME
ciąg nazwą wewnętrzną przypisaną przez system klastra Lustre w systemie plików Azure Managed Lustre. 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
EXISTING_LUSTRE_IP_ADDRESS
adresem IP usługi MGS.
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ć swoją instalację, możesz dodatkowo użyć zasobnika echa, aby potwierdzić, że sterownik działa.
Aby wyświetlić sygnatury czasowe 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ć sygnatury czasowe w konsoli podczas zapisu, uruchom następujące polecenie
kubectl
:`kubectl logs -f lustre-echo-date`