Samouczek: instalowanie usługi Azure Container Storage w wersji zapoznawczej 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 klastrze. Alternatywnie możesz zainstalować usługę Azure Container Storage przy użyciu przewodnika Szybki start zamiast wykonywać kroki ręczne w tym samouczku.

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

  • 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 Współautor do tożsamości zarządzanej usługi AKS
  • Instalowanie rozszerzenia usługi 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ąc az aks install-cli polecenie .

Uwaga

Jeśli masz już wdrożony klaster usługi AKS, przejdź do Połączenie do klastra.

Wprowadzenie

  • Zanotuj identyfikator subskrypcji platformy Azure. Zalecamy użycie subskrypcji, w której masz rolę współautora platformy Kubernetes, jeśli chcesz użyć usługi Azure Disks lub dysku efemerycznego jako magazynu danych. Jeśli chcesz użyć usługi Azure Elastic SAN jako magazynu danych, musisz mieć rolę Właściciel w subskrypcji platformy Azure.

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

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>

Rejestrowanie dostawców zasobów

Dostawcy Microsoft.ContainerService zasobów i Microsoft.KubernetesConfiguration muszą być zarejestrowani w ramach subskrypcji platformy Azure. Aby zarejestrować tych dostawców, uruchom następujące polecenie:

az provider register --namespace Microsoft.ContainerService --wait 
az provider register --namespace Microsoft.KubernetesConfiguration --wait 

Aby sprawdzić, czy ci dostawcy są pomyślnie zarejestrowani, uruchom następujące polecenie:

az provider list --query "[?namespace=='Microsoft.ContainerService'].registrationState"
az provider list --query "[?namespace=='Microsoft.KubernetesConfiguration'].registrationState"

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.

Typy maszyn wirtualnych

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.

Jeśli zamierzasz używać usługi Azure Elastic SAN lub Azure Disks z usługą Azure Container Storage, wybierz typ maszyny wirtualnej ogólnego przeznaczenia, taki jak standard_d4s_v5 dla węzłów klastra.

Jeśli zamierzasz użyć dysku efemerycznego, wybierz typ maszyny wirtualnej zoptymalizowany pod kątem magazynu, taki jak standard_l8s_v3.

Ważne

Musisz wybrać typ maszyny wirtualnej, który obsługuje usługę Azure Premium Storage.

Tworzenie klastra AKS

Uruchom następujące polecenie, aby utworzyć klaster usługi AKS oparty na systemie Linux i włączyć tożsamość zarządzaną przypisaną przez system. Jeśli masz już klaster usługi AKS, którego chcesz użyć, możesz pominąć ten krok.

Zastąp <resource-group> ciąg nazwą utworzonej grupy zasobów nazwą klastra, <cluster-name> który chcesz utworzyć, i <vm-type> typem maszyny wirtualnej wybranym w poprzednim kroku. W tym przykładzie utworzymy klaster z trzema węzłami. Zwiększ wartość , --node-count jeśli chcesz utworzyć większy klaster.

az aks create -g <resource-group> -n <cluster-name> --node-count 3 -s <vm-type> --generate-ssh-keys

Ukończenie wdrażania potrwa kilka minut.

Uwaga

Podczas tworzenia klastra usługi AKS usługa AKS automatycznie tworzy drugą grupę zasobów do przechowywania zasobów usługi AKS. Ta druga grupa zasobów jest zgodna z konwencją MC_YourResourceGroup_YourAKSClusterName_Regionnazewnictwa . Aby uzyskać więcej informacji, zobacz Dlaczego dwie grupy zasobów są tworzone za pomocą usługi AKS?.

Łą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.

Etykieta puli węzłów

Następnie należy zaktualizować etykietę puli węzłów, aby skojarzyć pulę węzłów z poprawnym aparatem we/wy dla usługi Azure Container Storage.

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. Przed zainstalowaniem usługi Azure Container Storage należy zaktualizować etykietę puli węzłów użytkownika zgodnie z opisem w tej sekcji. 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 agenta/systemu jest dodawany błąd CriticalAddOnsOnly , który 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.

Uruchom następujące polecenie, aby zaktualizować etykietę puli węzłów. Pamiętaj, aby zastąpić <resource-group> wartości i <cluster-name> własnymi wartościami, a następnie zastąpić <nodepool-name> nazwą puli węzłów.

az aks nodepool update --resource-group <resource-group> --cluster-name <cluster-name> --name <nodepool-name> --labels acstor.azure.com/io-engine=acstor

Możesz sprawdzić, czy pula węzłów jest poprawnie oznaczona etykietą, logując się do witryny Azure Portal i przechodząc do klastra usługi AKS. Przejdź do pozycji Ustawienia > Pule węzłów, wybierz pulę węzłów, a następnie w obszarze Taints i etykiety powinny być widoczne.Labels: acstor.azure.com/io-engine:acstor

Przypisywanie roli Współautor do tożsamości zarządzanej usługi AKS

Usługa Azure Container Service to oddzielna usługa od usługi AKS, więc musisz udzielić uprawnień, aby umożliwić usłudze Azure Container Storage aprowizację magazynu dla klastra. W szczególności musisz przypisać wbudowaną rolę Współautor RBAC platformy Azure do tożsamości zarządzanej usługi AKS. Można to zrobić przy użyciu witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure. Aby to zrobić, musisz mieć rolę Właściciel subskrypcji platformy Azure. Jeśli nie masz wystarczających uprawnień, poproś administratora o wykonanie tych kroków.

  1. Zaloguj się do witryny Azure Portal i wyszukaj i wybierz pozycję Usługi Kubernetes.

  2. Znajdź i wybierz klaster usługi AKS. Wybierz pozycję Ustawienia> Właściwości w obszarze nawigacji po lewej stronie.

  3. W obszarze Grupa zasobów infrastruktury powinien zostać wyświetlony link do grupy zasobów utworzonej przez usługę AKS podczas tworzenia klastra. Wybierz je.

  4. Wybierz pozycję Kontrola dostępu (Zarządzanie dostępem i tożsamościami) w okienku po lewej stronie.

  5. Wybierz pozycję Dodaj > przypisanie roli.

  6. W obszarze Typ przypisania wybierz pozycję Role administratora uprzywilejowanego, a następnie Współautor, a następnie wybierz pozycję Dalej. Jeśli nie masz roli Właściciel w subskrypcji, nie będziesz mieć możliwości dodania roli Współautor.

    Zrzut ekranu przedstawiający sposób używania witryny Azure Portal do dodawania roli Współautor do tożsamości zarządzanej usługi AKS.

  7. W obszarze Przypisz dostęp do wybierz pozycję Tożsamość zarządzana.

  8. W obszarze Członkowie kliknij pozycję + Wybierz członków. Zostanie wyświetlone menu Wybierz tożsamości zarządzane.

  9. W obszarze Tożsamość zarządzana wybierz pozycję Tożsamość zarządzana przypisana przez użytkownika.

  10. W obszarze Wybierz wyszukaj i wybierz tożsamość zarządzaną z nazwą klastra i -agentpool dołącz go.

  11. Kliknij pozycję Wybierz, a następnie przejrzyj i przypisz.

Zainstaluj usługę Azure Container Storage

Początkowa instalacja używa poleceń interfejsu wiersza polecenia usługi Azure Arc do pobrania nowego rozszerzenia. Zastąp <cluster-name> wartości i <resource-group> własnymi wartościami. Wartość może być dowolna. Jest <extension-name> to tylko etykieta dla instalowanego rozszerzenia.

Podczas instalacji może zostać wyświetlony monit o zainstalowanie programu k8s-extension. Wybierz pozycję Y.

az k8s-extension create --cluster-type managedClusters --cluster-name <cluster-name> --resource-group <resource-group> --name <extension-name> --extension-type microsoft.azurecontainerstorage --scope cluster --release-train stable --release-namespace acstor

Instalacja trwa od 10 do 15 minut. Możesz sprawdzić, czy instalacja została ukończona poprawnie, uruchamiając następujące polecenie i upewniając się, że provisioningState jest wyświetlany komunikat Powodzenie:

az k8s-extension list --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type managedClusters

Gratulacje, pomyślnie zainstalowano usługę Azure Container Storage. Masz teraz nowe klasy magazynu, których można używać dla obciążeń Kubernetes.

Następne kroki

Teraz możesz utworzyć pulę magazynów i trwałe oświadczenie woluminu, a następnie wdrożyć zasobnik i dołączyć wolumin trwały. Wykonaj kroki opisane w odpowiednim artykule z instrukcjami.