Udostępnij przez


Szybki start: używanie usługi Azure Container Storage (wersja 1.x.x) 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 (wersja 1.x.x) i utworzyć pulę magazynu przy użyciu interfejsu wiersza polecenia platformy Azure.

Ważne

W tym artykule wyjaśniono, jak zainstalować usługę Azure Container Storage (wersja 1.x.x), która teraz jawnie wymaga parametru --container-storage-version 1 przypinania wersji do instalacji. Usługa Azure Container Storage (wersja 2.x.x) jest teraz dostępna.

Wymagania wstępne

  • Jeśli nie masz subskrypcji Azure, przed rozpoczęciem utwórz darmowe konto.

  • Ten artykuł wymaga najnowszej wersji interfejsu wiersza polecenia platformy Azure. Zobacz Jak zainstalować interfejs wiersza polecenia platformy Azure. Jeśli używasz środowiska 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 Get started with 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 zapewnia dostęp do zasobów pamięci. 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 pojawić się komunikat z prośbą o zamontowanie magazynu. Wybierz subskrypcję platformy Azure, w której chcesz utworzyć konto magazynu, a następnie wybierz pozycję Utwórz.

Instalowanie wymaganego rozszerzenia

Zainstaluj lub zaktualizuj do najnowszej wersji k8s-extension, uruchamiając następujące polecenie.

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

Ustawianie kontekstu subskrypcji

Ustaw kontekst subskrypcji Azure przy użyciu polecenia az account set. 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>

Połącz się 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 CLI platformy Kubernetes do ich używania.
    • Domyślna lokalizacja pliku konfiguracyjnego dla Kubernetes to ~/.kube/config. 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. Zweryfikuj połączenie z klastrem, używając polecenia kubectl get. 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 nodepool1.

Wybierz opcję przechowywania danych dla puli przechowywania

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. Przestrzeń dyskowa jest przydzielana na żądanie dla każdego utworzonego woluminu i migawki 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 przydzielany według docelowej wielkości puli magazynowej kontenerów i maksymalnej wielkości 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. AKS odnajduje dostępny magazyn efemeryczny w węzłach AKS i przejmuje dyski do wdrożenia woluminu.

Uwaga / Notatka

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 móc korzystać z Elastic SAN, musisz mieć rolę Azure Container Storage Owner lub rolę Azure Container Storage Contributor w subskrypcji Azure.

Zuż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 pamięci Rdzenie procesora CPU RAM
Azure Elastic SAN  Żaden Żaden
Dyski platformy Azure 1 1 GiB
Dysk efemeryczny — tymczasowy dysk SSD 1 1 GiB
Dysk efemeryczny — lokalne urządzenie NVMe (warstwa Standardowa) 25% rdzeni (można zaktualizować poziom 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.

pl-PL: *W przypadku efemerycznego dysku puli magazynowej - dysk lokalny NVMe ze standardową (domyślną) warstwą wydajności, jeśli używasz wielu typów jednostek SKU maszyn wirtualnych dla węzłów klastra, 25% używanych rdzeni CPU odnosi się 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ć poziom wydajności, aby wykorzystać większy procent rdzeni i osiągnąć 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 obsługi we/wy na każdej maszynie wirtualnej, na 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 SKU maszyny wirtualnej, które obsługuje lokalne dyski danych NVMe, na przykład SKU maszyn wirtualnych zoptymalizowane pod kątem magazynowania lub SKU maszyn wirtualnych z przyspieszeniem 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ż działającą wersję zapoznawczą Azure Container Storage w klastrze AKS, czy też instalujesz Azure Container Storage w klastrze po raz pierwszy.

Uaktualnienie instalacji wersji zapoznawczej do wersji GA

Jeśli masz już próbne wystąpienie usługi Azure Container Storage uruchomione w klastrze, zalecamy zaktualizowanie go do najnowszej wersji ogólnie dostępnej (GA), uruchamiając poniższe 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> 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. Zamień <cluster-name> i <resource-group> na własne wartości. Zastąp ciąg <storage-pool-type> ciągiem azureDisk, ephemeralDisklub elasticSan. Jeśli wybierzesz ephemeralDisk, możesz również określić --storage-pool-option, a wartości mogą być NVMe 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: Prawdopodobnie klaster 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 portalu Azure do puli węzłów systemu/agenta dodawana jest taint CriticalAddOnsOnly, która blokuje instalację usługi Azure Container Storage w puli węzłów systemowych. Ten znak nie jest dodawany podczas tworzenia klastra AKS przy użyciu Azure CLI.

Jeśli używasz wielostrefowego klastra AKS z elastyczną siecią SAN platformy Azure: Należy użyć elastycznej sieci SAN z redundantnym przechowywaniem strefowym (ZRS). Wartość domyślna dla elastycznej puli magazynów SIECI SAN to magazyn lokalnie nadmiarowy (LRS). Aby włączyć ZRS dla elastycznej sieci SAN, użyj elasticSan dla typu puli zasobów i dołącz flagę --storage-pool-sku Premium_ZRS do następującego polecenia CLI.

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

Wdrożenie potrwa od 10 do 15 minut. Po zakończeniu będziesz mieć klaster AKS z zainstalowaną usługą Azure Container Storage, z włączonymi składnikami dla wybranego typu puli magazynowej, oraz domyślną pulą magazynową. 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ć Azure Elastic SAN jako dodatkowy typ puli magazynu bez którejkolwiek z wymaganych ról, poprzednia instalacja i pule magazynu nie zostaną naruszone i nie zostanie utworzona pula magazynów Elastic SAN.

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. Zamień <resource-group> i <cluster-name> na własne wartości.

    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. Zamień <cluster-name> i <resource-group> na własne wartości. Zastąp ciąg <storage-pool-type> ciągiem azureDisk, ephemeralDisklub elasticSan. W przypadku wybrania ephemeralDisk opcji możesz również określić opcję --storage-pool-option, a wartości mogą wynosić NVMe lub Temp.

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

Włącz dodatkowe typy puli przechowywania

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. Zamień <cluster-name> i <resource-group> na własne wartości. W polu <storage-pool-type> określ azureDisk, ephemeralDisk lub 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> --container-storage-version 1

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 zostanie zmienione na maksymalną wartość.

Wskazówka

Jeśli dodałeś 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ć tę pulę przy użyciu polecenia --azure-container-storage-nodepools <nodepool-name>az aks update.

Wyświetl dostępne pule przechowywania

Aby uzyskać listę dostępnych puli zasobó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 przechowywania

Jeśli nie używasz już określonego typu puli pamięci masowej i chcesz go wyłączyć, aby zwolnić zasoby w puli węzłów, uruchom następujące polecenie. Zamień <cluster-name> i <resource-group> na własne wartości. W polu <storage-pool-type> określ azureDisk, ephemeralDisk lub elasticSan.

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

Uwaga / Notatka

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.