Udostępnij za pośrednictwem


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

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.

Diagram przedstawiający dwie sieci wirtualne, jedną dla usługi Azure Managed Lustre i jedną dla usługi AKS ze strzałką peeringu łączącą je.

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.

Diagram przedstawiający sieć wirtualną Azure Managed Lustre z dwiema podsieciami, jedną dla systemu plików Lustre i jedną dla usługi AKS.

Konfigurowanie sterownika

Aby włączyć sterownik Azure Lustre CSI dla platformy Kubernetes, wykonaj następujące kroki:

  1. Utwórz klaster systemu plików Azure Managed Lustre.

  2. Utwórz klaster usługi AKS.

  3. Utwórz peering sieci wirtualnych.

  4. Zainstaluj sterownik.

  5. Tworzenie i konfigurowanie woluminu trwałego.

  6. 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

  1. Otwórz sesję terminalu z dostępem do narzędzi interfejsu wiersza polecenia platformy Azure i zaloguj się do konta platformy Azure:

    az login
    
  2. Zaloguj się w witrynie Azure Portal.

  3. Znajdź klaster usługi AKS. W okienku Przegląd kliknij przycisk Połącz, następnie skopiuj polecenie Pobierz poświadczenia klastra.

  4. 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>
    
  5. Zainstaluj narzędzie kubectl, jeśli nie istnieje w twoim środowisku:

    az aks install-cli
    
  6. 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 Install the Azure Lustre CSI driver on a Kubernetes cluster(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:

  1. 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.

  2. W pliku storageclass_existing_lustre.yaml zaktualizuj wewnętrzną nazwę klastra Lustre i adres IP usługi Lustre Management Service (MGS).

    Zrzut ekranu przedstawiający plik storageclass_existing_lustre.yaml z wyróżnionymi wartościami do zastąpienia.

    Oba ustawienia są wyświetlane w portalu Azure w okienku połączenia klienta dla systemu plików Azure Managed Lustre.

    Zrzut ekranu przedstawiający okienko połączenia klienta w portalu Azure. Adres IP usługi MGS i nazwa

    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 zwykle lustrefs. 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.

      Zrzut ekranu przedstawiający przykładowe parametry adresu w okienku połączenia klienta. Nazwa wewnętrzna klastra Lustre została wyróżniona.

    • Zastąp EXISTING_LUSTRE_IP_ADDRESS adresem IP usługi MGS.

  3. 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:

  1. Dodaj następujący kod do zasobnika echo:

    while true; do echo $(date) >> /mnt/lustre/outfile; tail -1 /mnt/lustre/outfile; sleep 1; done
    
  2. Aby wyświetlić sygnatury czasowe w konsoli podczas zapisu, uruchom następujące polecenie kubectl:

    `kubectl logs -f lustre-echo-date`