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ącaz 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_Region
nazewnictwa . 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 .
Skonfiguruj
kubectl
, aby nawiązać połączenie z klastremaz 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/config
metody , 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>
Sprawdź połączenie z klastrem
kubectl get
przy użyciu polecenia . To polecenie zwraca listę węzłów klastra.kubectl get nodes
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.
Zaloguj się do witryny Azure Portal i wyszukaj i wybierz pozycję Usługi Kubernetes.
Znajdź i wybierz klaster usługi AKS. Wybierz pozycję Ustawienia> Właściwości w obszarze nawigacji po lewej stronie.
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.
Wybierz pozycję Kontrola dostępu (Zarządzanie dostępem i tożsamościami) w okienku po lewej stronie.
Wybierz pozycję Dodaj > przypisanie roli.
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.
W obszarze Przypisz dostęp do wybierz pozycję Tożsamość zarządzana.
W obszarze Członkowie kliknij pozycję + Wybierz członków. Zostanie wyświetlone menu Wybierz tożsamości zarządzane.
W obszarze Tożsamość zarządzana wybierz pozycję Tożsamość zarządzana przypisana przez użytkownika.
W obszarze Wybierz wyszukaj i wybierz tożsamość zarządzaną z nazwą klastra i
-agentpool
dołącz go.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.