Szybki start: wdrażanie automatycznego klastra usługi Azure Kubernetes Service (AKS) (wersja zapoznawcza)
Dotyczy: ✔️ AKS Automatic (wersja zapoznawcza)
Usługa Azure Kubernetes Service (AKS) Automatic (wersja zapoznawcza) zapewnia najłatwiejsze zarządzane środowisko kubernetes dla deweloperów, inżynierów DevOps i inżynierów platformy. Idealne rozwiązanie dla nowoczesnych aplikacji sztucznej inteligencji, usługa AKS Automatic automatyzuje konfigurację i operacje klastra usługi AKS oraz osadza konfiguracje najlepszych rozwiązań. Użytkownicy dowolnego poziomu umiejętności mogą korzystać z bezpieczeństwa, wydajności i zależności usługi AKS Automatic dla swoich aplikacji.
Z tego przewodnika Szybki start dowiesz się, jak wykonywać następujące zadania:
- Wdrażanie klastra automatycznego usługi AKS.
- Uruchom przykładową aplikację z wieloma kontenerami z grupą mikrousług i frontonów internetowych symulujących scenariusz sprzedaży detalicznej.
Zanim rozpoczniesz
W tym przewodniku Szybki start założono, że masz podstawową wiedzę na temat pojęć związanych z rozwiązaniem Kubernetes. Aby uzyskać więcej informacji, zobacz temat Kubernetes core concepts for Azure Kubernetes Service (AKS) (Kubernetes — podstawowe pojęcia dotyczące usługi Azure Kubernetes Service (AKS)).
Użyj środowiska powłoki Bash w usłudze Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Szybki start dotyczący powłoki Bash w usłudze Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj interfejs wiersza polecenia platformy Azure. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie interfejsu wiersza polecenia platformy Azure w kontenerze Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić interfejs wiersza polecenia platformy Azure w kontenerze platformy Docker.
Jeśli korzystasz z instalacji lokalnej, zaloguj się do interfejsu wiersza polecenia platformy Azure za pomocą polecenia az login. Aby ukończyć proces uwierzytelniania, wykonaj kroki wyświetlane w terminalu. Aby uzyskać inne opcje logowania, zobacz Logowanie się przy użyciu interfejsu wiersza polecenia platformy Azure.
Po wyświetleniu monitu zainstaluj rozszerzenie interfejsu wiersza polecenia platformy Azure podczas pierwszego użycia. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Korzystanie z rozszerzeń w interfejsie wiersza polecenia platformy Azure.
Uruchom polecenie az version, aby znaleźć zainstalowane wersje i biblioteki zależne. Aby uaktualnić do najnowszej wersji, uruchom polecenie az upgrade.
- Ten artykuł wymaga wersji 2.57.0 lub nowszej interfejsu wiersza polecenia platformy Azure. Jeśli używasz usługi Azure Cloud Shell, najnowsza wersja jest już tam zainstalowana.
- Ten artykuł wymaga rozszerzenia interfejsu wiersza polecenia platformy
aks-preview
Azure w wersji 9.0.0b4 lub nowszej. - Jeśli masz wiele subskrypcji platformy Azure, wybierz odpowiedni identyfikator subskrypcji, w którym mają być rozliczane zasoby przy użyciu polecenia az account set .
- Zarejestruj funkcję w subskrypcji platformy
AutomaticSKUPreview
Azure. - Tożsamość tworząca klaster powinna mieć również następujące uprawnienia do grupy zasobów:
Microsoft.Authorization/policyAssignments/write
Microsoft.Authorization/policyAssignments/read
- Klastry automatyczne usługi AKS wymagają wdrożenia w regionach świadczenia usługi Azure, które obsługują co najmniej 3 strefy dostępności.
- Aby wdrożyć plik Bicep, musisz zapisać dostęp do tworzonych zasobów i uzyskać dostęp do wszystkich operacji w typie
Microsoft.Resources/deployments
zasobu. Aby na przykład utworzyć maszynę wirtualną, potrzebneMicrosoft.Compute/virtualMachines/write
są uprawnienia iMicrosoft.Resources/deployments/*
. Aby uzyskać listę ról i uprawnień, zobacz Role wbudowane platformy Azure.
Ważne
Usługa AKS Automatic próbuje dynamicznie wybrać jednostkę SKU maszyny wirtualnej dla system
puli węzłów na podstawie pojemności dostępnej w subskrypcji. Upewnij się, że twoja subskrypcja ma limit przydziału dla 16 procesorów wirtualnych dowolnej z następujących jednostek SKU w regionie, w którym wdrażasz klaster: Standard_D4pds_v5, Standard_D4lds_v5, Standard_D4ads_v5, Standard_D4ds_v5, Standard_D4d_v5, Standard_D4d_v4, Standard_DS3_v2, Standard_DS12_v2. Możesz wyświetlić limity przydziału dla określonych rodzin maszyn wirtualnych i przesłać żądania zwiększenia limitu przydziału za pośrednictwem witryny Azure Portal.
Instalowanie rozszerzenia interfejsu wiersza polecenia platformy Azure w wersji zapoznawczej usługi aks
Ważne
Funkcje usługi AKS w wersji zapoznawczej są dostępne na zasadzie samoobsługi. Wersje zapoznawcze są udostępniane w wersji "as is" i "jako dostępne" i są wykluczone z umów dotyczących poziomu usług i ograniczonej gwarancji. Wersje zapoznawcze usługi AKS są częściowo objęte pomocą techniczną dla klientów. W związku z tym te funkcje nie są przeznaczone do użytku produkcyjnego. Aby uzyskać więcej informacji, zobacz następujące artykuły pomocy technicznej:
Aby zainstalować rozszerzenie aks-preview, uruchom następujące polecenie:
az extension add --name aks-preview
Uruchom następujące polecenie, aby zaktualizować do najnowszej wersji wydanego rozszerzenia:
az extension update --name aks-preview
Rejestrowanie flag funkcji
Aby użyć usługi AKS Automatic w wersji zapoznawczej, zarejestruj następującą flagę przy użyciu polecenia az feature register .
az feature register --namespace Microsoft.ContainerService --name AutomaticSKUPreview
Sprawdź stan rejestracji przy użyciu polecenia az feature show . Wyświetlenie stanu Zarejestrowane trwa kilka minut:
az feature show --namespace Microsoft.ContainerService --name AutomaticSKUPreview
Gdy stan będzie odzwierciedlał wartość Zarejestrowano, odśwież rejestrację dostawcy zasobów Microsoft.ContainerService , używając polecenia az provider register :
az provider register --namespace Microsoft.ContainerService
Tworzenie grupy zasobów
Grupa zasobów platformy Azure to grupa logiczna, w której zasoby platformy Azure są wdrażane i zarządzane.
W poniższym przykładzie tworzona jest grupa zasobów o nazwie myResourceGroup w lokalizacji eastus.
Utwórz grupę zasobów przy użyciu polecenia az group create.
az group create --name myResourceGroup --location eastus
Następujące przykładowe dane wyjściowe przypominają pomyślne utworzenie grupy zasobów:
{
"id": "/subscriptions/<guid>/resourceGroups/myResourceGroup",
"location": "eastus",
"managedBy": null,
"name": "myResourceGroup",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null
}
Tworzenie klastra automatycznego usługi AKS
Aby utworzyć klaster automatyczny usługi AKS, użyj polecenia az aks create . Poniższy przykład tworzy klaster o nazwie myAKSAutomaticCluster z włączoną integracją z funkcją Managed Prometheus i Container Insights.
az aks create \
--resource-group myResourceGroup \
--name myAKSAutomaticCluster \
--sku automatic
Po kilku minutach polecenie zostanie wykonane i zwróci informacje o klastrze w formacie JSON.
Łączenie z klastrem
Aby zarządzać klastrem Kubernetes, użyj klienta wiersza polecenia kubernetes kubectl. kubectl
program jest już zainstalowany, jeśli używasz usługi Azure Cloud Shell. Aby zainstalować kubectl
lokalnie, uruchom polecenie az aks install-cli . Klastry automatyczne usługi AKS są konfigurowane przy użyciu identyfikatora Entra firmy Microsoft dla kontroli dostępu opartej na rolach (RBAC) platformy Kubernetes. Podczas tworzenia klastra przy użyciu interfejsu wiersza polecenia platformy Azure użytkownik ma przypisane wbudowane role dla programu Azure Kubernetes Service RBAC Cluster Admin
.
Skonfiguruj, kubectl
aby nawiązać połączenie z klastrem Kubernetes przy użyciu polecenia az aks get-credentials . To polecenie powoduje pobranie poświadczeń i zastosowanie ich w konfiguracji interfejsu wiersza polecenia Kubernetes.
az aks get-credentials --resource-group myResourceGroup --name myAKSAutomaticCluster
Sprawdź połączenie z klastrem przy użyciu polecenia kubectl get . To polecenie zwraca listę węzłów klastra.
kubectl get nodes
W poniższych przykładowych danych wyjściowych przedstawiono sposób monitowania o zalogowanie się.
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code AAAAAAAAA to authenticate.
Po zalogowaniu się następujące przykładowe dane wyjściowe przedstawiają zarządzane pule węzłów systemu. Upewnij się, że stan węzła to Gotowe.
NAME STATUS ROLES AGE VERSION
aks-nodepool1-13213685-vmss000000 Ready agent 2m26s v1.28.5
aks-nodepool1-13213685-vmss000001 Ready agent 2m26s v1.28.5
aks-nodepool1-13213685-vmss000002 Ready agent 2m26s v1.28.5
Tworzenie automatycznego klastra Kubernetes
Aby utworzyć klaster automatyczny usługi AKS, wyszukaj pozycję Kubernetes Services i wybierz pozycję Automatyczny klaster Kubernetes z opcji listy rozwijanej.
Na karcie Podstawy wypełnij wszystkie obowiązkowe pola wymagane do rozpoczęcia pracy: Subskrypcja, Grupa zasobów, Nazwa klastra i Region
Jeśli wymagania wstępne nie zostały spełnione, a subskrypcja wymaga rejestracji flag w wersji zapoznawczej, w polu Subskrypcja zostanie wyświetlony błąd:
Na karcie Monitorowanie wybierz konfiguracje monitorowania z poziomu usługi Azure Monitor, zarządzanego rozwiązania Prometheus, zarządzanego narzędzia Grafana i/lub skonfiguruj alerty. Dodaj tagi (opcjonalnie) i przejdź do utworzenia klastra.
Rozpocznij konfigurowanie pierwszej aplikacji z usługi GitHub i konfigurowanie zautomatyzowanego potoku wdrażania.
Łączenie z klastrem
Aby zarządzać klastrem Kubernetes, użyj klienta wiersza polecenia kubernetes kubectl. kubectl
program jest już zainstalowany, jeśli używasz usługi Azure Cloud Shell. Aby zainstalować kubectl
lokalnie, uruchom polecenie az aks install-cli . Klastry automatyczne usługi AKS są konfigurowane przy użyciu identyfikatora Entra firmy Microsoft dla kontroli dostępu opartej na rolach (RBAC) platformy Kubernetes. Podczas tworzenia klastra przy użyciu witryny Azure Portal użytkownik ma przypisane wbudowane role dla programu Azure Kubernetes Service RBAC Cluster Admin
.
Skonfiguruj, kubectl
aby nawiązać połączenie z klastrem Kubernetes przy użyciu polecenia az aks get-credentials . To polecenie powoduje pobranie poświadczeń i zastosowanie ich w konfiguracji interfejsu wiersza polecenia Kubernetes.
az aks get-credentials --resource-group myResourceGroup --name myAKSAutomaticCluster
Sprawdź połączenie z klastrem przy użyciu polecenia kubectl get . To polecenie zwraca listę węzłów klastra.
kubectl get nodes
W poniższych przykładowych danych wyjściowych przedstawiono sposób monitowania o zalogowanie się.
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code AAAAAAAAA to authenticate.
Po zalogowaniu się następujące przykładowe dane wyjściowe przedstawiają zarządzane pule węzłów systemu. Upewnij się, że stan węzła to Gotowe.
NAME STATUS ROLES AGE VERSION
aks-nodepool1-13213685-vmss000000 Ready agent 2m26s v1.28.5
aks-nodepool1-13213685-vmss000001 Ready agent 2m26s v1.28.5
aks-nodepool1-13213685-vmss000002 Ready agent 2m26s v1.28.5
Tworzenie grupy zasobów
Grupa zasobów platformy Azure to grupa logiczna, w której zasoby platformy Azure są wdrażane i zarządzane. Podczas tworzenia grupy zasobów zostanie wyświetlony monit o określenie lokalizacji. Ta lokalizacja to lokalizacja magazynu metadanych grupy zasobów i lokalizacja, w której zasoby są uruchamiane na platformie Azure, jeśli nie określisz innego regionu podczas tworzenia zasobów.
W poniższym przykładzie tworzona jest grupa zasobów o nazwie myResourceGroup w lokalizacji eastus.
Utwórz grupę zasobów przy użyciu polecenia az group create.
az group create --name myResourceGroup --location eastus
Następujące przykładowe dane wyjściowe przypominają pomyślne utworzenie grupy zasobów:
{
"id": "/subscriptions/<guid>/resourceGroups/myResourceGroup",
"location": "eastus",
"managedBy": null,
"name": "myResourceGroup",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null
}
Przejrzyj plik Bicep
Ten plik Bicep definiuje klaster automatyczny usługi AKS. W wersji zapoznawczej należy określić profil puli agentów puli węzłów systemu.
@description('The name of the managed cluster resource.')
param clusterName string = 'myAKSAutomaticCluster'
@description('The location of the managed cluster resource.')
param location string = resourceGroup().location
resource aks 'Microsoft.ContainerService/managedClusters@2024-03-02-preview' = {
name: clusterName
location: location
sku: {
name: 'Automatic'
}
properties: {
agentPoolProfiles: [
{
name: 'systempool'
mode: 'System'
count: 3
}
]
}
identity: {
type: 'SystemAssigned'
}
}
Aby uzyskać więcej informacji na temat zasobu zdefiniowanego w pliku Bicep, zobacz dokumentację Microsoft.ContainerService/managedClusters .
Wdrażanie pliku Bicep
Zapisz plik Bicep jako main.bicep na komputerze lokalnym.
Ważne
Plik Bicep ustawia
clusterName
parametr na ciąg myAKSAutomaticCluster. Jeśli chcesz użyć innej nazwy klastra, pamiętaj o zaktualizowaniu ciągu do preferowanej nazwy klastra przed zapisaniem pliku na komputerze.Wdróż plik Bicep przy użyciu interfejsu wiersza polecenia platformy Azure.
az deployment group create --resource-group myResourceGroup --template-file main.bicep
Utworzenie klastra AKS może potrwać kilka minut. Przed przejściem do następnego kroku poczekaj na pomyślne wdrożenie klastra.
Łączenie z klastrem
Aby zarządzać klastrem Kubernetes, użyj klienta wiersza polecenia kubernetes kubectl. kubectl
program jest już zainstalowany, jeśli używasz usługi Azure Cloud Shell. Aby zainstalować kubectl
lokalnie, uruchom polecenie az aks install-cli . Klastry automatyczne usługi AKS są konfigurowane przy użyciu identyfikatora Entra firmy Microsoft dla kontroli dostępu opartej na rolach (RBAC) platformy Kubernetes. Podczas tworzenia klastra przy użyciu Bicep należy przypisać jedną z wbudowanych ról , takich jak Azure Kubernetes Service RBAC Reader
, Azure Kubernetes Service RBAC Writer
, Azure Kubernetes Service RBAC Admin
lub Azure Kubernetes Service RBAC Cluster Admin
do użytkowników, o określonym zakresie do klastra lub określonej przestrzeni nazw. Upewnij się również, że użytkownicy mają wbudowaną Azure Kubernetes Service Cluster User
rolę, aby mogli uruchamiać polecenie az aks get-credentials
, a następnie uzyskać narzędzie kubeconfig klastra usługi AKS przy użyciu az aks get-credentials
polecenia .
Skonfiguruj, kubectl
aby nawiązać połączenie z klastrem Kubernetes przy użyciu polecenia az aks get-credentials . To polecenie powoduje pobranie poświadczeń i zastosowanie ich w konfiguracji interfejsu wiersza polecenia Kubernetes.
az aks get-credentials --resource-group myResourceGroup --name
Sprawdź połączenie z klastrem przy użyciu polecenia kubectl get . To polecenie zwraca listę węzłów klastra.
kubectl get nodes
W poniższych przykładowych danych wyjściowych przedstawiono sposób monitowania o zalogowanie się.
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code AAAAAAAAA to authenticate.
Po zalogowaniu się następujące przykładowe dane wyjściowe przedstawiają zarządzane pule węzłów systemu. Upewnij się, że stan węzła to Gotowe.
NAME STATUS ROLES AGE VERSION
aks-nodepool1-13213685-vmss000000 Ready agent 2m26s v1.28.5
aks-nodepool1-13213685-vmss000001 Ready agent 2m26s v1.28.5
aks-nodepool1-13213685-vmss000002 Ready agent 2m26s v1.28.5
Wdrażanie aplikacji
Aby wdrożyć aplikację, należy użyć pliku manifestu, aby utworzyć wszystkie obiekty wymagane do uruchomienia aplikacji sklepu AKS. Plik manifestu kubernetes definiuje żądany stan klastra, taki jak obrazy kontenerów do uruchomienia. Manifest obejmuje następujące wdrożenia i usługi Kubernetes:
- Front sklepu: aplikacja internetowa dla klientów do wyświetlania produktów i składania zamówień.
- Usługa produktu: wyświetla informacje o produkcie.
- Usługa zamawiania: umieszcza zamówienia.
- Rabbit MQ: kolejka komunikatów dla kolejki zamówień.
Uwaga
Nie zalecamy uruchamiania kontenerów stanowych, takich jak Rabbit MQ, bez trwałego przechowywania w środowisku produkcyjnym. Są one używane tutaj dla uproszczenia, ale zalecamy korzystanie z usług zarządzanych, takich jak Azure Cosmos DB lub Azure Service Bus.
Utwórz przestrzeń nazw
aks-store-demo
w celu wdrożenia zasobów platformy Kubernetes.kubectl create ns aks-store-demo
Wdróż aplikację przy użyciu polecenia kubectl apply w
aks-store-demo
przestrzeni nazw. Plik YAML definiujący wdrożenie znajduje się w witrynie GitHub.kubectl apply -n aks-store-demo -f https://raw.githubusercontent.com/Azure-Samples/aks-store-demo/main/aks-store-ingress-quickstart.yaml
Następujące przykładowe dane wyjściowe przedstawiają wdrożenia i usługi:
statefulset.apps/rabbitmq created configmap/rabbitmq-enabled-plugins created service/rabbitmq created deployment.apps/order-service created service/order-service created deployment.apps/product-service created service/product-service created deployment.apps/store-front created service/store-front created ingress/store-front created
Testowanie aplikacji
Podczas uruchamiania aplikacji usługa Kubernetes uwidacznia fronton aplikacji w Internecie. Ten proces może potrwać kilka minut.
Sprawdź stan wdrożonych zasobników przy użyciu polecenia kubectl get pods . Przed kontynuowaniem upewnij się, że wszystkie zasobniki są
Running
gotowe. Jeśli jest to pierwsze wdrożone obciążenie, automatyczne aprowizowanie węzłów może potrwać kilka minut, aby utworzyć pulę węzłów do uruchamiania zasobników.kubectl get pods -n aks-store-demo
Sprawdź publiczny adres IP aplikacji frontonu sklepu. Monitoruj postęp przy użyciu polecenia kubectl get service za pomocą argumentu
--watch
.kubectl get ingress store-front -n aks-store-demo --watch
Dane wyjściowe ADRESU dla
store-front
usługi początkowo są puste:NAME CLASS HOSTS ADDRESS PORTS AGE store-front webapprouting.kubernetes.azure.com * 80 12m
Gdy adres zmieni się z pustego na rzeczywisty publiczny adres IP, użyj polecenia
CTRL-C
, aby zatrzymaćkubectl
proces oglądania.Następujące przykładowe dane wyjściowe pokazują prawidłowy publiczny adres IP przypisany do usługi:
NAME CLASS HOSTS ADDRESS PORTS AGE store-front webapprouting.kubernetes.azure.com * 4.255.22.196 80 12m
Otwórz przeglądarkę internetową pod zewnętrznym adresem IP ruchu przychodzącego, aby zobaczyć działanie aplikacji sklepu Azure Store.
Usuwanie klastra
Jeśli nie planujesz przechodzenia przez samouczek usługi AKS, wyczyść niepotrzebne zasoby, aby uniknąć opłat za platformę Azure. Uruchom polecenie az group delete, aby usunąć grupę zasobów, usługę kontenera i wszystkie powiązane zasoby.
az group delete --name myResourceGroup --yes --no-wait
Uwaga
Klaster usługi AKS został utworzony przy użyciu przypisanej przez system tożsamości zarządzanej, która jest domyślną opcją tożsamości używaną w tym przewodniku Szybki start. Platforma zarządza tą tożsamością, więc nie trzeba jej ręcznie usuwać.
Następne kroki
W tym przewodniku Szybki start wdrożono klaster Kubernetes przy użyciu usługi AKS Automatic , a następnie wdrożono w niej prostą aplikację z wieloma kontenerami. Ta przykładowa aplikacja służy tylko do celów demonstracyjnych i nie reprezentuje wszystkich najlepszych rozwiązań dla aplikacji Kubernetes. Aby uzyskać wskazówki dotyczące tworzenia pełnych rozwiązań za pomocą usługi AKS dla środowiska produkcyjnego, zobacz Wskazówki dotyczące rozwiązania AKS.
Aby dowiedzieć się więcej o usłudze AKS Automatic, przejdź do wprowadzenia.
Azure Kubernetes Service