Udostępnij przez


Samouczek: instalowanie usługi Azure Container Storage (wersja 1.x.x) do użycia 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 samouczku utworzysz klaster usługi Azure Kubernetes Service (AKS) i zainstalujesz usługę Azure Container Storage (w wersji 1.x.x) w klastrze. Jeśli masz już wdrożony klaster usługi AKS, zalecamy zainstalowanie usługi Azure Container Storage (w wersji 1.x.x) przy użyciu tego przewodnika Szybki start zamiast ręcznego wykonania kroków opisanych w tym samouczku.

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.

  • Tworzenie grupy zasobów
  • Wybieranie opcji magazynu danych i typu maszyny wirtualnej
  • Utwórz klaster AKS
  • Połącz się z klastrem
  • Oznacz pulę węzłów
  • Przypisanie roli operatora usługi Azure Container Storage do tożsamości zarządzanej usługi AKS
  • Instalowanie usługi Azure Container Storage (wersja 1.x.x)

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.

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ę do interfejsu wiersza polecenia platformy 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>

Tworzenie grupy zasobów

Grupa zasobów platformy Azure to grupa logiczna zawierająca zasoby platformy Azure, którymi chcesz zarządzać jako grupa. 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 polecenia az group create. Zastąp <resource-group-name> 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.

az group create --name <resource-group-name> --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 i typu maszyny wirtualnej

Przed utworzeniem klastra należy zrozumieć, którą opcję zaplecza magazynowego ostatecznie wybierzesz do stworzenia puli pamięci masowej. Jest to spowodowane tym, że różne usługi składowania najlepiej współpracują z różnymi typami maszyn wirtualnych pełniącymi funkcje węzłów klastra, a klaster zostanie wdrożony przed utworzeniem puli składowania.

Opcje magazynu danych

  • Elastyczna sieć SAN platformy Azure: Elastyczna sieć SAN platformy Azure jest odpowiednia dla baz danych ogólnego przeznaczenia, usług przesyłania strumieniowego i obsługi komunikatów, środowisk ciągłej integracji/ciągłego wdrażania i 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 usługi AKS i jest bardzo wrażliwa na opóźnienia (małe opóźnienie podrzędne ms), dlatego najlepiej jest używać aplikacji bez wymagania trwałości danych lub wbudowanej obsługi replikacji danych, takiej jak Cassandra. AKS odnajduje dostępny magazyn efemeryczny w węzłach AKS i przejmuje dyski do wdrożenia woluminu.

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.

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

Jeśli masz już wdrożony klaster usługi AKS, postępuj zgodnie z instrukcjami instalacji w tym przewodniku Szybki start.

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> i <resource-group> własnymi wartościami i określ, którego typu maszyny wirtualnej chcesz użyć. Zastąp ciąg <storage-pool-type> ciągiem azureDisk, ephemeralDisklub elasticSan. W przypadku wybrania ephemeralDisk opcji należy również określić --storage-pool-option wartość, a wartości mogą wynosić NVMe 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. Jeśli określasz lokalne NVMe dla typu puli magazynowej, upewnij się, że ustawisz liczbę węzłów na 4 lub więcej, w przeciwnym razie polecenie zakończy się niepowodzeniem.

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 domyślnie zainstaluje składniki płaszczyzny danych. W przeciwnym razie użytkownicy mają możliwość przesłania preferowanej puli węzłów do acstor za pomocą Azure CLI. Jeśli klaster ma tylko pulę węzłów systemowych, będzie on domyślnie oznaczony etykietą i używany dla usługi Azure Container Storage. Należy pamiętać, że tylko składniki płaszczyzny danych będą ograniczone do oznaczonej puli węzłów. Składniki płaszczyzny sterowania usługi Azure Container Storage nie są ograniczone do oznaczonych węzłów i mogą być również instalowane 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> --container-storage-version 1 --generate-ssh-keys

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.

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.

Następny krok

Wybierz link dla wybranego typu magazynu zapasowego i postępuj zgodnie z instrukcjami dotyczącymi tworzenia woluminów.