Udostępnij za pośrednictwem


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

  • 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 3.0.0b13 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 subskrypcji:

    • Microsoft.Authorization/policyAssignments/write
    • Microsoft.Authorization/policyAssignments/read

Ważne

Upewnij się, że subskrypcja ma limit przydziału dla 24 procesorów wirtualnych maszyny wirtualnej Standard_DS4_v2 dla regionu, w którym wdrażasz klaster. 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. .png

  • 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ą, potrzebne Microsoft.Compute/virtualMachines/write są uprawnienia i Microsoft.Resources/deployments/* . Aby uzyskać listę ról i uprawnień, zobacz Role wbudowane platformy Azure.

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 korzystać z usługi AKS Automatic w wersji zapoznawczej, należy zarejestrować flagi funkcji dla innych wymaganych funkcji. Zarejestruj następujące flagi przy użyciu polecenia az feature register .

az feature register --namespace Microsoft.ContainerService --name EnableAPIServerVnetIntegrationPreview
az feature register --namespace Microsoft.ContainerService --name NRGLockdownPreview
az feature register --namespace Microsoft.ContainerService --name SafeguardsPreview
az feature register --namespace Microsoft.ContainerService --name NodeAutoProvisioningPreview
az feature register --namespace Microsoft.ContainerService --name DisableSSHPreview
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 utworzone w poprzednich krokach. Upewnij się, że stan węzła to Gotowe.

NAME                                STATUS   ROLES   AGE     VERSION
aks-default-f8vj2                   Ready    agent   2m26s   v1.28.5
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

  1. Aby utworzyć klaster automatyczny usługi AKS, wyszukaj pozycję Kubernetes Services i wybierz pozycję Automatyczny klaster Kubernetes z opcji listy rozwijanej.

    Zrzut ekranu przedstawiający punkt wejścia do tworzenia klastra automatycznego usługi AKS w witrynie Azure Portal.

  2. Na karcie Podstawy wypełnij wszystkie obowiązkowe pola wymagane do rozpoczęcia pracy: Subskrypcja, Grupa zasobów, Nazwa klastra i Region

    Zrzut ekranu przedstawiający kartę Tworzenie — podstawy dla klastra automatycznego usługi AKS w witrynie Azure Portal.

    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:

    Zrzut ekranu przedstawiający błąd wyświetlany, gdy subskrypcja nie ma flag w wersji zapoznawczej zarejestrowanych podczas tworzenia klastra automatycznego usługi AKS w witrynie Azure Portal.

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

    Zrzut ekranu przedstawiający kartę Monitorowanie podczas tworzenia klastra automatycznego usługi AKS w witrynie Azure Portal.

  4. Rozpocznij konfigurowanie pierwszej aplikacji z usługi GitHub i konfigurowanie zautomatyzowanego potoku wdrażania.

    Zrzut ekranu przedstawiający kartę Wprowadzenie w bloku Przegląd po utworzeniu klastra automatycznego usługi AKS w witrynie Azure Portal.

Łą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 utworzone w poprzednich krokach. Upewnij się, że stan węzła to Gotowe.

NAME                                STATUS   ROLES   AGE     VERSION
aks-default-f8vj2                   Ready    agent   2m26s   v1.28.5
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'
  		tier: 'Standard'
  }
  properties: {
    agentPoolProfiles: [
      {
        name: 'systempool'
        count: 3
        vmSize: 'Standard_DS4_v2'
        osType: 'Linux'
        mode: 'System'
      }
    ]
  }
  identity: {
    type: 'SystemAssigned'
  }
}

Aby uzyskać więcej informacji na temat zasobu zdefiniowanego w pliku Bicep, zobacz dokumentację Microsoft.ContainerService/managedClusters .

Wdrażanie pliku Bicep

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

  2. 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 Adminlub 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 utworzone w poprzednich krokach. Upewnij się, że stan węzła to Gotowe.

NAME                                STATUS   ROLES   AGE     VERSION
aks-default-f8vj2                   Ready    agent   2m26s   v1.28.5
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:

Zrzut ekranu przedstawiający przykładową architekturę sklepu Azure Store.

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

  1. Utwórz przestrzeń nazw aks-store-demo w celu wdrożenia zasobów platformy Kubernetes.

    kubectl create ns aks-store-demo
    
  2. 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.

  1. 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
    
  2. 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
    
  3. 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
    
  4. Otwórz przeglądarkę internetową pod zewnętrznym adresem IP ruchu przychodzącego, aby zobaczyć działanie aplikacji sklepu Azure Store.

    Zrzut ekranu przedstawiający przykładową aplikację sklepu AKS 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.