Samouczek: instalowanie usługi Azure Container Storage 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 najnowszą wersję produkcyjną usługi Azure Container Storage w klastrze. Jeśli masz już wdrożony klaster usługi AKS, zalecamy zainstalowanie usługi Azure Container Storage przy użyciu tego przewodnika Szybki start zamiast wykonać czynności ręczne w tym samouczku.
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.
- Tworzenie grupy zasobów
- Wybieranie opcji magazynu danych i typu maszyny wirtualnej
- Tworzenie klastra AKS
- Łączenie z klastrem
- Etykieta puli węzłów
- Przypisywanie roli operatora usługi Azure Container Storage do tożsamości zarządzanej usługi AKS
- Zainstaluj usługę Azure Container Storage
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ącaz 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 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ę do interfejsu wiersza polecenia platformy 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. 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-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óra opcja magazynu zaplecza ostatecznie zdecydujesz się utworzyć pulę magazynów. Jest to spowodowane tym, że różne usługi magazynu działają najlepiej z różnymi typami maszyn wirtualnych jako węzłami klastra, a klaster zostanie wdrożony przed utworzeniem puli magazynów.
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łej integracji i 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 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. Usługa AKS odnajduje dostępny magazyn efemeryczny w węzłach usługi AKS i uzyskuje dyski na potrzeby wdrożenia woluminu.
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 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.
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>
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
, ephemeralDisk
lub elasticSan
. W przypadku wybrania ephemeralDisk
opcji należy również określić --storage-pool-option
wartość , 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. Jeśli określasz lokalny dysk NVMe dla typu puli magazynów, upewnij się, że ustawiono liczbę węzłów na 4 lub większą lub 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ść przekazania preferowanej puli węzłów do acstor
interfejsu wiersza polecenia platformy Azure. 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 etykiety 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> --generate-ssh-keys
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.
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.
Następny krok
Wybierz link dla wybranego typu magazynu zapasowego i postępuj zgodnie z instrukcjami dotyczącymi tworzenia woluminów.
- Tworzenie woluminu trwałego za pomocą dysków zarządzanych platformy Azure
- Tworzenie trwałego woluminu za pomocą elastycznej sieci SAN platformy Azure
- Tworzenie ogólnego woluminu efemerycznego przy użyciu lokalnego urządzenia NVMe
- Tworzenie ogólnego woluminu efemerycznego przy użyciu dysku SSD tymczasowego
- Tworzenie woluminu trwałego przy użyciu lokalnego dysku NVMe i replikacji woluminu