Udostępnij za pośrednictwem


Szybki start: używanie usługi Azure Container Storage z usługą Azure Kubernetes Service

Usługa Azure Container Storage to oparta na chmurze usługa zarządzania woluminami, wdrażania i orkiestracji wbudowana natywnie dla kontenerów. W tym przewodniku Szybki start pokazano, jak nawiązać połączenie z klastrem usługi Azure Kubernetes Service (AKS) opartym na systemie Linux, zainstalować usługę Azure Container Storage i utworzyć pulę magazynów przy użyciu interfejsu wiersza polecenia platformy Azure.

Ważne

Usługa Azure Container Storage jest teraz ogólnie dostępna od wersji 1.1.0. Wersja ogólnie dostępna jest zalecana w przypadku obciążeń produkcyjnych.

Wymagania wstępne

  • Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

  • Ten artykuł wymaga najnowszej wersji (2.35.0 lub nowszej) interfejsu wiersza polecenia platformy Azure. Zobacz Jak zainstalować interfejs wiersza polecenia platformy Azure. Jeśli używasz środowiska powłoki Bash w usłudze Azure Cloud Shell, najnowsza wersja jest już zainstalowana. Jeśli planujesz uruchamiać polecenia lokalnie zamiast w usłudze Azure Cloud Shell, pamiętaj, aby uruchamiać je z uprawnieniami administracyjnymi. Aby uzyskać więcej informacji, zobacz Rozpoczynanie pracy z usługą Azure Cloud Shell.

  • Potrzebny będzie klient wiersza polecenia platformy Kubernetes, kubectl. Jest on już zainstalowany, jeśli używasz usługi Azure Cloud Shell lub możesz zainstalować go lokalnie, uruchamiając az aks install-cli polecenie .

  • Sprawdź, czy region docelowy jest obsługiwany w regionach usługi Azure Container Storage.

  • Jeśli klaster usługi AKS nie został jeszcze utworzony, postępuj zgodnie z instrukcjami dotyczącymi instalowania klastra usługi AKS.

Wprowadzenie

  • Zanotuj identyfikator subskrypcji platformy Azure. Jeśli chcesz użyć usługi Azure Elastic SAN jako magazynu danych, musisz mieć rolę właściciela usługi Azure Container Storage lub rolę współautora usługi Azure Container Storage przypisaną do subskrypcji platformy Azure. Dostęp na poziomie właściciela umożliwia zainstalowanie rozszerzenia usługi Azure Container Storage, przyznanie dostępu do jej zasobów magazynu i udzielenie uprawnień do konfigurowania zasobu elastycznej sieci SAN platformy Azure. Dostęp na poziomie współautora umożliwia zainstalowanie rozszerzenia i przyznanie dostępu do zasobów magazynu. Jeśli planujesz używanie dysków platformy Azure lub efemerycznego dysku jako magazynu danych, nie potrzebujesz specjalnych uprawnień do subskrypcji.

  • Uruchom usługę Azure Cloud Shell lub jeśli używasz instalacji lokalnej, zaloguj się na platformie Azure przy użyciu polecenia az login .

  • Jeśli używasz usługi Azure Cloud Shell, może zostać wyświetlony monit o zainstalowanie magazynu. Wybierz subskrypcję platformy Azure, w której chcesz utworzyć konto magazynu, a następnie wybierz pozycję Utwórz.

Instalowanie wymaganego rozszerzenia

Dodaj lub uaktualnij do najnowszej wersji programu k8s-extension , uruchamiając następujące polecenie.

az extension add --upgrade --name k8s-extension

Ustawianie kontekstu subskrypcji

Ustaw kontekst subskrypcji platformy az account set Azure przy użyciu polecenia . Możesz wyświetlić identyfikatory subskrypcji dla wszystkich subskrypcji, do których masz dostęp, uruchamiając az account list --output table polecenie . Pamiętaj, aby zastąpić <subscription-id> element identyfikatorem subskrypcji.

az account set --subscription <subscription-id>

Łączenie z klastrem

Aby nawiązać połączenie z klastrem, użyj klienta wiersza polecenia kubernetes, kubectl. Jest on już zainstalowany, jeśli używasz usługi Azure Cloud Shell lub możesz zainstalować go lokalnie, uruchamiając az aks install-cli polecenie .

  1. Skonfiguruj kubectl , aby nawiązać połączenie z klastrem az aks get-credentials przy użyciu polecenia . Następujące polecenie:

    • Pobiera poświadczenia i konfiguruje interfejs wiersza polecenia platformy Kubernetes do ich używania.
    • Używa ~/.kube/configmetody , domyślnej lokalizacji pliku konfiguracji platformy Kubernetes. Możesz określić inną lokalizację pliku konfiguracji platformy Kubernetes przy użyciu argumentu --file .
    az aks get-credentials --resource-group <resource-group> --name <cluster-name>
    
  2. Sprawdź połączenie z klastrem kubectl get przy użyciu polecenia . To polecenie zwraca listę węzłów klastra.

    kubectl get nodes
    
  3. Poniższy przykład danych wyjściowych przedstawia węzły w klastrze. Upewnij się, że stan dla wszystkich węzłów ma wartość Gotowe:

    NAME                                STATUS   ROLES   AGE   VERSION
    aks-nodepool1-34832848-vmss000000   Ready    agent   80m   v1.25.6
    aks-nodepool1-34832848-vmss000001   Ready    agent   80m   v1.25.6
    aks-nodepool1-34832848-vmss000002   Ready    agent   80m   v1.25.6
    

    Zanotuj nazwę puli węzłów. W tym przykładzie będzie to pula nodepool1.

Wybieranie opcji magazynu danych dla puli magazynów

Przed wdrożeniem usługi Azure Container Storage należy zdecydować, której opcji magazynu zaplecza chcesz użyć do utworzenia puli magazynów i woluminów. Obecnie są dostępne trzy opcje:

  • Elastyczna sieć SAN platformy Azure: Elastyczna sieć SAN platformy Azure jest dobrym rozwiązaniem w przypadku baz danych ogólnego przeznaczenia, usług przesyłania strumieniowego i komunikatów, środowisk ciągłej integracji/ciągłego wdrażania oraz innych obciążeń warstwy 1/warstwy 2. Magazyn jest aprowizowany na żądanie na utworzony wolumin i migawkę woluminu. Wiele klastrów może uzyskiwać dostęp do pojedynczej sieci SAN jednocześnie, jednak woluminy trwałe mogą być dołączane tylko przez jednego użytkownika jednocześnie.

  • Dyski platformy Azure: dyski platformy Azure są odpowiednie dla baz danych, takich jak MySQL, MongoDB i PostgreSQL. Magazyn jest aprowizowany na docelowy rozmiar puli magazynów kontenerów i maksymalny rozmiar woluminu.

  • Dysk efemeryczny: ta opcja używa lokalnych dysków NVMe lub dysków SSD tymczasowych w węzłach klastra usługi AKS. Jest ona bardzo wrażliwa na opóźnienia (małe opóźnienie podrzędne ms), dlatego najlepiej jest używać aplikacji bez wymagań dotyczących trwałości danych lub z wbudowaną obsługą replikacji danych, taką jak Cassandra. Usługa AKS odnajduje dostępny magazyn efemeryczny w węzłach usługi AKS i uzyskuje dyski na potrzeby wdrożenia woluminu.

Uwaga

W przypadku usług Azure Elastic SAN i Azure Disks usługa Azure Container Storage wdroży magazyn zapasowy w ramach instalacji. Nie musisz tworzyć własnej elastycznej sieci SAN ani dysku platformy Azure. Aby można było korzystać z elastycznej sieci SAN, musisz mieć rolę właściciela magazynu kontenera platformy Azure lub rolę Współautor usługi Azure Container Storage w subskrypcji platformy Azure.

Użycie zasobów

Usługa Azure Container Storage wymaga pewnych zasobów węzłów do uruchamiania składników usługi. Na podstawie wyboru typu puli magazynów, który określisz podczas instalowania usługi Azure Container Storage, są to zasoby, które będą używane:

Typ puli magazynów Rdzenie procesora CPU RAM
Azure Elastic SAN  Brak Brak
Azure Disks 1 1 GiB
Dysk efemeryczny — tymczasowy dysk SSD 1 1 GiB
Dysk efemeryczny — lokalne urządzenie NVMe (warstwa Standardowa) 25% rdzeni (można zaktualizować warstwę wydajności)* 1 GiB

Użyte zasoby są na węzeł i będą używane dla każdego węzła w puli węzłów, w której zostanie zainstalowana usługa Azure Container Storage. Jeśli węzły nie mają wystarczającej ilości zasobów, uruchomienie usługi Azure Container Storage zakończy się niepowodzeniem. Platforma Kubernetes automatycznie spróbuje ponownie zainicjować te nieudane zasobniki, więc jeśli zasoby zostaną wyzwolone, te zasobniki można zainicjować ponownie.

*W typie efemerycznego dysku puli magazynów — lokalne urządzenie NVMe ze standardową (domyślną) warstwą wydajności, jeśli używasz wielu typów jednostek SKU maszyn wirtualnych dla węzłów klastra, używane rdzenie procesora CPU mają zastosowanie do najmniejszej używanej jednostki SKU. Jeśli na przykład używasz kombinacji 8-rdzeniowych i 16-rdzeniowych typów maszyn wirtualnych, użycie zasobów wynosi 2 rdzenie. Możesz zaktualizować warstwę wydajności, aby użyć większej wartości procentowej rdzeni i uzyskać większą liczbę operacji we/wy na sekundę.

Upewnij się, że typ maszyny wirtualnej dla klastra spełnia następujące kryteria

Do korzystania z usługi Azure Container Storage potrzebna jest pula węzłów zawierająca co najmniej trzy maszyny wirtualne z systemem Linux. Każda maszyna wirtualna powinna mieć co najmniej cztery procesory wirtualne (vCPU). Usługa Azure Container Storage będzie używać jednego rdzenia do przetwarzania we/wy na każdej maszynie wirtualnej, w której jest wdrażane rozszerzenie.

Postępuj zgodnie z tymi wytycznymi podczas wybierania typu maszyny wirtualnej dla węzłów klastra. Musisz wybrać typ maszyny wirtualnej, który obsługuje usługę Azure Premium Storage.

  • Jeśli zamierzasz używać usługi Azure Elastic SAN lub Azure Disks jako magazynu zapasowego , wybierz typ maszyny wirtualnej ogólnego przeznaczenia, taki jak standard_d4s_v5.
  • Jeśli zamierzasz używać dysku efemerycznego z lokalnym dyskiem NVMe, wybierz jednostkę SKU maszyny wirtualnej, która obsługuje lokalne dyski danych NVMe, na przykład jednostki SKU maszyn wirtualnych zoptymalizowane pod kątem magazynu lub jednostki SKU przyspieszonej maszyny wirtualnej procesora GPU.
  • Jeśli zamierzasz używać dysku efemerycznego z dyskami SSD tymczasowymi, wybierz maszynę wirtualną z tymczasowym dyskiem SSD, takim jak Ev3 i seria Esv3.

Instalowanie usługi Azure Container Storage w klastrze usługi AKS

Polecenie instalacji różni się w zależności od tego, czy masz już w wersji zapoznawczej wystąpienie usługi Azure Container Storage uruchomione w klastrze usługi AKS, czy też instalujesz usługę Azure Container Storage w klastrze po raz pierwszy.

Uaktualnianie instalacji w wersji zapoznawczej do ogólnie dostępnej wersji

Jeśli masz już w wersji zapoznawczej wystąpienie usługi Azure Container Storage uruchomione w klastrze, zalecamy zaktualizowanie do najnowszej ogólnie dostępnej wersji, uruchamiając następujące polecenie. Jeśli instalujesz usługę Azure Container Storage po raz pierwszy w klastrze, przejdź do sekcji Instalowanie usługi Azure Container Storage i tworzenie puli magazynów. Możesz również zainstalować usługę Azure Container Storage w określonych pulach węzłów.

az k8s-extension update --cluster-type managedClusters --cluster-name <cluster-name> --resource-group <resource-group> --name azurecontainerstorage --version 1.1.0 --auto-upgrade false --release-train stable

Pamiętaj, aby zastąpić <cluster-name> wartości i <resource-group> własnymi wartościami.

Instalowanie usługi Azure Container Storage i tworzenie puli magazynów

Przed zainstalowaniem upewnij się, że klaster usługi AKS spełnia wymagania dotyczące maszyny wirtualnej.

Uruchom następujące polecenie, aby zainstalować usługę Azure Container Storage w klastrze i utworzyć pulę magazynów. Zastąp <cluster-name> wartości i <resource-group> własnymi wartościami. Zastąp ciąg <storage-pool-type> ciągiem azureDisk, ephemeralDisklub elasticSan. W przypadku wybrania ephemeralDiskopcji możesz również określić --storage-pool-optionwartość , a wartości mogą mieć NVMe wartość lub Temp.

Uruchomienie tego polecenia spowoduje włączenie usługi Azure Container Storage w puli węzłów systemowych, która domyślnie ma nazwę nodepool1*. Jeśli chcesz ją włączyć w innych pulach węzłów, zobacz Instalowanie usługi Azure Container Storage w określonych pulach węzłów. Jeśli chcesz określić dodatkowe parametry, zobacz Parametry puli magazynów usługi Azure Container Storage.

*Jeśli istnieją jakiekolwiek pule węzłów z etykietą acstor.azure.com/io-engine:acstor , usługa Azure Container Storage zostanie zainstalowana domyślnie. W przeciwnym razie jest on zainstalowany w puli węzłów systemowych.

Ważne

Jeśli klaster usługi AKS został utworzony przy użyciu witryny Azure Portal: klaster prawdopodobnie będzie miał pulę węzłów użytkownika i pulę węzłów systemu/agenta. Jeśli jednak klaster składa się tylko z puli węzłów systemowych, czyli w przypadku klastrów testowych/deweloperskich utworzonych w witrynie Azure Portal, należy najpierw dodać nową pulę węzłów użytkownika, a następnie oznaczyć ją etykietą. Dzieje się tak dlatego, że podczas tworzenia klastra usługi AKS przy użyciu witryny Azure Portal do puli węzłów systemu/agenta jest dodawana taint CriticalAddOnsOnly , która blokuje instalację usługi Azure Container Storage w puli węzłów systemowych. Ta metoda nie jest dodawana podczas tworzenia klastra usługi AKS przy użyciu interfejsu wiersza polecenia platformy Azure.

az aks update -n <cluster-name> -g <resource-group> --enable-azure-container-storage <storage-pool-type>

Wdrożenie potrwa od 10 do 15 minut. Po zakończeniu będziesz mieć zainstalowany klaster usługi AKS z usługą Azure Container Storage, składniki dla wybranego typu puli magazynów i domyślną pulę magazynów. Jeśli chcesz włączyć dodatkowe typy puli magazynów w celu utworzenia dodatkowych pul magazynów, zobacz Włączanie dodatkowych typów puli magazynów.

Ważne

Jeśli określono usługę Azure Elastic SAN jako magazyn zapasowy dla puli magazynów i nie masz roli właściciela usługi Azure Container Storage ani roli Współautor magazynu kontenera platformy Azure przypisanej do subskrypcji platformy Azure, instalacja usługi Azure Container Storage zakończy się niepowodzeniem i pula magazynu nie zostanie utworzona. Jeśli spróbujesz włączyć usługę Azure Elastic SAN jako dodatkowy typ puli magazynów bez żadnej z tych ról, poprzednia instalacja i pule magazynów pozostaną nienaruszone, a elastyczna pula magazynów SAN nie zostanie utworzona.

Instalowanie usługi Azure Container Storage w określonych pulach węzłów

Jeśli chcesz zainstalować usługę Azure Container Storage w określonych pulach węzłów, postępuj zgodnie z tymi instrukcjami. Pule węzłów muszą zawierać co najmniej trzy maszyny wirtualne z systemem Linux.

  1. Uruchom następujące polecenie, aby wyświetlić listę dostępnych pul węzłów. Zastąp <resource-group> wartości i <cluster-name> własnymi wartościami.

    az aks nodepool list --resource-group <resource-group> --cluster-name <cluster-name>
    
  2. Uruchom następujące polecenie, aby zainstalować usługę Azure Container Storage w określonych pulach węzłów. Zastąp <cluster-name> wartości i <resource-group> własnymi wartościami. Zastąp ciąg <storage-pool-type> ciągiem azureDisk, ephemeralDisklub elasticSan. W przypadku wybrania ephemeralDiskopcji możesz również określić opcję --storage-pool-, a wartości mogą mieć NVMe wartość lub Temp.

    az aks update -n <cluster-name> -g <resource-group> --enable-azure-container-storage <storage-pool-type> --azure-container-storage-nodepools <comma separated values of nodepool names>
    

Włączanie dodatkowych typów puli magazynów

Jeśli chcesz włączyć typ puli magazynów, który nie został pierwotnie włączony podczas instalacji usługi Azure Container Storage, uruchom następujące polecenie. Zastąp <cluster-name> wartości i <resource-group> własnymi wartościami. W polu <storage-pool-type>określ azureDiskwartość , ephemeralDisklub elasticSan.

Jeśli chcesz określić dodatkowe parametry puli magazynów za pomocą tego polecenia, zobacz tę tabelę.

az aks update -n <cluster-name> -g <resource-group> --enable-azure-container-storage <storage-pool-type>

Jeśli włączony typ nowej puli magazynów zajmuje więcej zasobów niż typ puli magazynów, który jest już włączony, użycie zasobów zmieni się na maksymalną kwotę.

Napiwek

Jeśli dodano nową pulę węzłów do klastra i chcesz uruchomić usługę Azure Container Storage w tej puli węzłów, możesz określić pulę --azure-container-storage-nodepools <nodepool-name> węzłów przy użyciu az aks update polecenia .

Wyświetlanie dostępnych pul magazynów

Aby uzyskać listę dostępnych pul magazynów, uruchom następujące polecenie:

kubectl get sp -n acstor

Aby sprawdzić stan puli magazynów, uruchom następujące polecenie:

kubectl describe sp <storage-pool-name> -n acstor

Message Jeśli parametr nie powiedzie StoragePool is ready, pula magazynów nadal tworzy lub napotkała problem. Zobacz Rozwiązywanie problemów z usługą Azure Container Storage.

Wyłączanie typów puli magazynów

Jeśli nie używasz już określonego typu puli magazynów i chcesz wyłączyć go, aby zwolnić zasoby w puli węzłów, uruchom następujące polecenie. Zastąp <cluster-name> wartości i <resource-group> własnymi wartościami. W polu <storage-pool-type>określ azureDiskwartość , ephemeralDisklub elasticSan.

az aks update -n <cluster-name> -g <resource-group> --disable-azure-container-storage <storage-pool-type>

Uwaga

Jeśli masz istniejącą pulę magazynów typu, który próbujesz wyłączyć, typ puli magazynów nie będzie wyłączony.

Następny krok

Aby utworzyć woluminy, wybierz link dla wybranego typu magazynu zapasowego.