Szybki start: korzystanie z usługi Azure Container Storage w wersji zapoznawczej 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 utworzyć klaster usługi Azure Kubernetes Service (AKS) oparty na systemie Linux, zainstalować usługę Azure Container Storage i utworzyć pulę magazynów przy użyciu interfejsu wiersza polecenia platformy Azure.

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 .

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 kontroli dostępu na podstawie ról (RBAC) platformy Azure w subskrypcji platformy Azure. Dostęp na poziomie właściciela przyznaje rozszerzeniu usługi Azure Container Storage odpowiednie uprawnienia do interakcji z interfejsem API elastycznej sieci SAN. 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>

Tworzenie grupy zasobów

Grupa zasobów platformy Azure to grupa logiczna zawierająca zasoby platformy Azure, którymi chcesz zarządzać jako grupa. Jeśli masz już grupę zasobów, której chcesz użyć, możesz pominąć tę sekcję.

Podczas tworzenia grupy zasobów zostanie wyświetlony monit o określenie lokalizacji. Ta lokalizacja to:

  • Lokalizacja magazynu metadanych grupy zasobów.
  • Gdzie zasoby będą uruchamiane na platformie Azure, jeśli nie określisz innego regionu podczas tworzenia zasobów.

Utwórz grupę zasobów przy użyciu az group create polecenia . Zastąp <resource-group> ciąg nazwą grupy zasobów, którą chcesz utworzyć, i zastąp <location> ciąg regionem platformy Azure, takim jak eastus, westus2, westus3 lub westeurope. Zobacz tę listę regionów świadczenia usługi Azure, w których jest dostępna usługa Azure Container Storage.

az group create --name <resource-group> --location <location>

Jeśli grupa zasobów została utworzona pomyślnie, zostaną wyświetlone dane wyjściowe podobne do następujących:

{
  "id": "/subscriptions/<guid>/resourceGroups/myContainerStorageRG",
  "location": "eastus",
  "managedBy": null,
  "name": "myContainerStorageRG",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null
}

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 trwałych. 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 korzystać z elastycznej sieci SAN, musisz mieć rolę właściciela kontroli dostępu na podstawie ról (RBAC) platformy Azure w ramach 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 25% rdzeni (w zależności od rozmiaru węzła)* 2 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 efemerycznym dysku puli magazynów — lokalne urządzenie NVMe, jeśli używasz wielu typów jednostek SKU maszyn wirtualnych dla węzłów klastra, 25% użytych rdzeni procesora CPU ma 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.

Wybieranie typu maszyny wirtualnej dla klastra

Typ maszyny wirtualnej określisz podczas tworzenia klastra w następnej sekcji. 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ć efemerycznego dysku z lokalnym urządzeniem NVMe, wybierz typ maszyny wirtualnej zoptymalizowanej pod kątem magazynu, taki jak standard_l8s_v3.
  • Jeśli zamierzasz używać dysku efemerycznego z dyskami SSD tymczasowymi, wybierz maszynę wirtualną z tymczasowym dyskiem SSD, takim jak Ev3 i seria Esv3.

Tworzenie nowego klastra usługi AKS i instalowanie usługi Azure Container Storage

Jeśli masz już wdrożony klaster usługi AKS, pomiń tę sekcję i przejdź do sekcji Instalowanie usługi Azure Container Storage w istniejącym klastrze usługi AKS.

Uruchom następujące polecenie, aby utworzyć nowy klaster usługi AKS, zainstalować usługę Azure Container Storage i utworzyć pulę magazynów. Zastąp <cluster-name> wartości i <resource-group> własnymi wartościami i określ typ maszyny wirtualnej, którego chcesz użyć. 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* z trzema maszynami wirtualnymi z systemem Linux. Domyślnie pula węzłów systemowych ma nazwę nodepool1. Jeśli chcesz włączyć usługę Azure Container Storage 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 puli magazynów za pomocą tego polecenia, zobacz tę tabelę.

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

az aks create -n <cluster-name> -g <resource-group> --node-vm-size Standard_D4s_v3 --node-count 3 --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 dostępu na poziomie właściciela do subskrypcji platformy Azure, zostanie zainstalowana tylko usługa Azure Container Storage, a pula magazynów nie zostanie utworzona. W takim przypadku należy ręcznie utworzyć elastyczną pulę magazynów SIECI SAN.

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.

Instalowanie usługi Azure Container Storage w istniejącym klastrze usługi AKS

Jeśli masz już klaster usługi AKS spełniający wymagania 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.

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 puli magazynów, zobacz tę tabelę.

*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>

Ukończenie wdrożenia potrwa od 10 do 15 minut.

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łą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ępne kroki

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