Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: ✔️ AKS Automatic
Azure Kubernetes Service (AKS) Automatic to zarządzane środowisko Kubernetes, które automatyzuje konfigurację i operacje klastra AKS oraz osadza konfiguracje zgodne z najlepszymi praktykami. Usługa AKS Automatic obejmuje również [umowę SLA dotyczącą gotowości zasobnika][azure-sla], która gwarantuje 99,9% kwalifikujących się operacji gotowości zasobnika w ciągu 5 minut, gwarantując niezawodną infrastrukturę samonaprawiania dla aplikacji. W tym przewodniku Szybki start dowiesz się, jak:
- Wdróż automatyczny klaster AKS.
- Uruchom przykładową aplikację z wieloma kontenerami z grupą mikrousług i frontonów internetowych symulujących scenariusz sprzedaży detalicznej.
Zanim rozpoczniesz
- Ten szybki start zakłada, że masz podstawową wiedzę na temat pojęć związanych z platformą Kubernetes. Aby uzyskać więcej informacji, zobacz Podstawowe pojęcia Kubernetes dla Azure Kubernetes Service (AKS).
- Usługa AKS Automatic umożliwia integrację z usługą Azure Policy w klastrze usługi AKS, ale należy wstępnie zarejestrować dostawcę zasobów
Microsoft.PolicyInsightsw ramach subskrypcji. Aby uzyskać więcej informacji, zobacz Azure dostawcy zasobów i typy.
Użyj interfejsu Bash w Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Rozpocznij pracę z Azure Cloud Shell.
Jeśli wolisz uruchamiać lokalnie polecenia interfejsu wiersza polecenia, zainstaluj Azure CLI. Jeśli korzystasz z Windows lub macOS, rozważ uruchomienie Azure CLI w kontenerze platformy Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić Azure CLI w kontenerze platformy Docker.
Jeśli używasz instalacji lokalnej, zaloguj się do Azure CLI przy użyciu polecenia az login. Aby zakończyć proces uwierzytelniania, wykonaj kroki wyświetlane w terminalu. Aby uzyskać inne opcje logowania, zobacz Uwierzytelnianie w Azure przy użyciu Azure CLI.
Po wyświetleniu monitu zainstaluj rozszerzenie Azure CLI podczas pierwszego użycia. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Używanie rozszerzeń i zarządzanie nimi za pomocą Azure CLI.
Uruchom az version, aby sprawdzić zainstalowaną wersję i biblioteki zależne. Aby przeprowadzić uaktualnienie do najnowszej wersji, uruchom polecenie az upgrade.
- Azure CLI w wersji 2.77.0 lub nowszej. Znajdź swoją wersję przy użyciu
az --versionpolecenia . Aby zainstalować lub uaktualnić, zobacz Install Azure CLI. Jeśli używasz Azure Cloud Shell, najnowsza wersja jest już tam zainstalowana. - Jeśli masz wiele subskrypcji Azure, wybierz odpowiedni identyfikator subskrypcji do rozliczania zasobów przy użyciu polecenia
az account set.
- Aby wdrożyć plik Bicep, musisz mieć dostęp do zapisu w zasobach, które tworzysz, oraz dostęp do wykonywania wszystkich operacji na zasobie typu
Microsoft.Resources/deployments. Aby na przykład utworzyć maszynę wirtualną, musisz mieć uprawnieniaMicrosoft.Compute/virtualMachines/writeiMicrosoft.Resources/deployments/*. Aby uzyskać listę ról i uprawnień, zobacz wbudowane role Azure.
Ograniczenia
- Pula węzłów systemowych klastrów automatycznych w usłudze AKS wymaga wdrożenia w regionach Azure, które obsługują co najmniej trzy strefy dostępności, dysk systemowy efemeryczny oraz system operacyjny Azure Linux.
- Usługa AKS Automatic jest dostępna w następujących regionach:
australiaeast,austriaeast,belgiumcentral,brazilsouth,canadacentral,centralindia,centralus,chilecentral,denmarkeast,eastasia,eastus,eastus2,francecentral,germanywestcentral,indonesiacentral,israelcentral,italynorth,japaneast,japanwest,koreacentral,malaysiawest,mexicocentral,newzealandnorth,northcentralus,northeurope,norwayeast,polandcentral,southafricanorth,southcentralus,southeastasia,spaincentral,swedencentral,switzerlandnorth,uaenorth,uksouth,westeurope,westus,westus2,westus3. - Klaster automatyczny usługi AKS został wstępnie skonfigurowany z blokadą grupy zasobów node, co nie pozwala na zmiany w grupie zasobów MC_, uniemożliwiając łączenie do sieci wirtualnej w domyślnej strefie nazw Private DNS. W przypadku scenariuszy między sieciami wirtualnymi (VNet) lub niestandardowymi systemami DNS użyj niestandardowej sieci i prywatnego DNS, postępując zgodnie z instrukcjami podanymi w Utwórz prywatny klaster usługi Azure Kubernetes (AKS) automatyczny w niestandardowej sieci wirtualnej.
Ważne
AKS Automatic próbuje dynamicznie wybrać rozmiar maszyny wirtualnej dla system puli węzłów na podstawie pojemności dostępnej w ramach subskrypcji. Upewnij się, że twoja subskrypcja ma limit przydziału dla 16 vCPU o dowolnym z następujących rozmiarów w regionie, w którym wdrażasz klaster: Standard_D4lds_v5, Standard_D4ads_v5, Standard_D4ds_v5, Standard_D4d_v5, Standard_D4d_v4, Standard_DS3_v2, Standard_DS12_v2, Standard_D4alds_v6, Standard_D4lds_v6 lub Standard_D4alds_v5. Limity można przeglądać dla określonych rodzin maszyn wirtualnych i przesyłać żądania zwiększenia limitu za pośrednictwem portalu Azure.
Jeśli masz dodatkowe pytania, dowiedz się więcej, zapoznaj się z dokumentami rozwiązywania problemów.
Tworzenie grupy zasobów
Grupa zasobów Azure to grupa logiczna, w której Azure zasoby są wdrażane i zarządzane.
Utwórz grupę zasobów przy użyciu polecenia az group create. Poniższy przykład tworzy grupę zasobów o nazwie myResourceGroup w lokalizacji eastus :
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
}
Utwórz automatyczny klaster AKS
Utwórz automatyzowany klaster usługi AKS, używając polecenia az aks create z ustawionym parametrem --sku na wartość automatic. W poniższym przykładzie tworzony jest klaster o nazwie myAKSAutomaticCluster z włączoną funkcją Managed Prometheus i włączoną integracją usługi 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.
Tworzenie automatycznego klastra Kubernetes
Aby utworzyć klaster AKS Automatic, wyszukaj i wybierz Usługi Kubernetes. Spowoduje to przejście do strony Centrum Kubernetes (wersja zapoznawcza).
Na stronie Centrum Kubernetes (wersja zapoznawcza) wybierz pozycję Utwórz>automatyczny klaster Kubernetes.
Na karcie Podstawy wypełnij wszystkie wymagane pola (Subskrypcja, Grupa zasobów, Nazwa klastra Kubernetes i Region), a następnie wybierz pozycję Dalej.
Na karcie Monitoring wybierz żądane konfiguracje monitorowania z Azure Monitor (Container Insights), Managed Prometheus, Grafana Dashboards, Container Network Observability (ACNS) i Alerts, a następnie wybierz pozycję Next.
Na karcie Advanced wybierz żądane zaawansowane konfiguracje: Dostęp prywatny, Azure Virtual Network, zarządzana tożsamość, Zabezpieczenia Sieci Kontenerowej (ACNS) i zarządzane przestrzenie nazw Kubernetes, a następnie wybierz pozycję Przegląd + utwórz.
Przejrzyj konfiguracje na karcie Przeglądanie i tworzenie , a następnie wybierz pozycję Utwórz , aby wdrożyć klaster automatyczny usługi AKS.
Rozpocznij konfigurowanie swojej pierwszej aplikacji z GitHub i ustaw zautomatyzowany proces wdrażania.
Przejrzyj plik Bicep
Poniższy plik Bicep definiuje klaster automatyczny usługi AKS:
@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 Microsoft.ContainerService/managedClusters odniesienie.
Wdróż plik Bicep
Zapisz plik Bicep jako main.bicep na komputer lokalny.
Ważne
Plik Bicep ustawia parametr
clusterNamena 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 polecenia [
az deployment group create][az-deployment-group-create].az deployment group create --resource-group myResourceGroup --template-file main.bicepUtworzenie 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 jest już zainstalowany, jeśli używasz Azure Cloud Shell. Można zainstalować kubectl lokalnie za pomocą polecenia az aks install-cli. Klastry automatyczne AKS są konfigurowane przy użyciu Microsoft Entra ID dla kontroli dostępu opartej na rolach (RBAC) platformy Kubernetes.
Uwaga
Podczas tworzenia klastra przy użyciu Azure CLI użytkownikowi są przypisane role wbudowane dla .
Skonfiguruj
kubectl, aby nawiązać połączenie z klastrem Kubernetes za pomocą poleceniaaz aks get-credentials. To polecenie pobiera poświadczenia i konfiguruje Kubernetes CLI do ich użycia.az aks get-credentials --resource-group myResourceGroup --name myAKSAutomaticClusterZweryfikuj połączenie z klastrem, używając polecenia
kubectl get. To polecenie zwraca listę węzłów klastra.kubectl get nodesW poniższych przykładowych danych wyjściowych przedstawiono, jak jesteś proszony 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-12345678-vmss000000 Ready agent 2m26s v1.28.5 aks-nodepool1-12345678-vmss000001 Ready agent 2m26s v1.28.5 aks-nodepool1-12345678-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 AKS Store. Plik manifestu Kubernetes definiuje żądany stan klastra, taki jak jakie obrazy kontenerów mają być uruchamiane. 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 zamówień: składa zamówienia.
- Rabbit MQ: kolejka komunikatów dla kolejki zamówień.
Uwaga
Nie zalecamy uruchamiania kontenerów stanowych, takich jak Rabbit MQ, bez trwałej pamięci w produkcyjnym środowisku. 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-demow celu wdrożenia zasobów platformy Kubernetes.kubectl create ns aks-store-demoWdróż aplikację przy użyciu
kubectl applypolecenia waks-store-demoprzestrzeni nazw. Plik YAML definiujący wdrożenie znajduje się na GitHub.kubectl apply -n aks-store-demo -f https://raw.githubusercontent.com/Azure-Samples/aks-store-demo/main/aks-store-ingress-quickstart.yamlNastę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ź status wdrożonych podów za pomocą polecenia kubectl get pods. Przed kontynuowaniem upewnij się, że wszystkie zasobniki są
Runninggotowe. Jeśli jest to pierwsze obciążenie, które wdrażasz, automatyczne dostarczanie węzłów może potrwać kilka minut, aby utworzyć pulę węzłów do uruchamiania podów.kubectl get pods -n aks-store-demoSprawdź publiczny adres IP aplikacji frontonu sklepu. Monitoruj postęp, używając polecenia kubectl get service z argumentem
--watch.kubectl get ingress store-front -n aks-store-demo --watchDane wyjściowe ADRESU dla
store-frontusługi początkowo są puste:NAME CLASS HOSTS ADDRESS PORTS AGE store-front webapprouting.kubernetes.azure.com * 80 12mGdy adres zmieni się z pustego na rzeczywisty publiczny adres IP, użyj polecenia
CTRL-C, aby zatrzymaćkubectlproces 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 12mOtwórz przeglądarkę internetową i przejdź do zewnętrznego adresu IP twojego ruchu przychodzącego, aby zobaczyć aplikację Azure Store w działaniu.
Usuwanie klastra
Jeśli nie planujesz przechodzenia przez samouczek AKS, wyczyść niepotrzebne zasoby, aby uniknąć opłat Azure.
Usuń grupę zasobów, usługę kontenera i wszystkie powiązane zasoby przy użyciu az group delete polecenia .
az group delete --name myResourceGroup --yes --no-wait
Uwaga
Klaster AKS został utworzony przy użyciu tożsamości zarządzanej przypisanej przez system, która jest domyślną opcją tożsamości używaną w tym przewodniku szybkiego startu. Platforma zarządza tą tożsamością, więc nie trzeba jej ręcznie usuwać.
Treści powiązane
W tym szybkim przewodniku wdrożono klaster Kubernetes przy pomocy AKS Automatic, a następnie wdrożono prostą aplikację wielokontenerową. 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 Automatyczny, zobacz Wprowadzenie do automatycznego Azure Kubernetes Service (AKS)