Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Azure Kubernetes Service (AKS) to zarządzana usługa platformy Kubernetes, która umożliwia szybkie wdrażanie klastrów i zarządzanie nimi. W tym artykule wdrożysz klaster usługi AKS z kontenerami systemu Windows Server za pomocą programu Azure PowerShell. W klastrze wdrożysz również przykładową aplikację ASP.NET w kontenerze systemu Windows Server.
Uwaga / Notatka
Aby rozpocząć szybkie aprowizowanie klastra usługi AKS, ten artykuł zawiera kroki wdrażania klastra z ustawieniami domyślnymi tylko do celów ewaluacyjnych. Przed wdrożeniem klastra gotowego do produkcji zalecamy zapoznanie się z naszą architekturą referencyjną punktu odniesienia, aby wziąć pod uwagę, jak jest ona zgodna z wymaganiami biznesowymi.
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 temat Kubernetes core concepts for Azure Kubernetes Service (AKS) (Kubernetes — podstawowe pojęcia dotyczące usługi Azure Kubernetes Service (AKS)).
-
Jeśli nie masz jeszcze konta platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
Aby ułatwić korzystanie, wypróbuj środowisko programu PowerShell w usłudze Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Szybki start dotyczący usługi Azure Cloud Shell.
Jeśli chcesz używać programu PowerShell lokalnie, zainstaluj moduł Az programu PowerShell i połącz się z kontem platformy Azure przy użyciu polecenia cmdlet Connect-AzAccount . Upewnij się, że polecenia są uruchamiane z uprawnieniami administratora. Aby uzyskać więcej informacji, zobacz Instalowanie programu Azure PowerShell.
Upewnij się, że tożsamość używana do utworzenia klastra ma odpowiednie minimalne uprawnienia. Aby uzyskać więcej informacji na temat dostępu i tożsamości dla usługi AKS, zobacz Opcje dostępu i tożsamości dla usługi Azure Kubernetes Service (AKS).
Jeśli masz więcej niż jedną subskrypcję platformy Azure, ustaw subskrypcję, której chcesz użyć dla szybkiego startu, wywołując Set-AzContext polecenie cmdlet. Aby uzyskać więcej informacji, zobacz Zarządzanie subskrypcjami platformy Azure przy użyciu programu Azure PowerShell.
Jeśli używasz systemu osSku
Windows2025, musisz zainstalowaćaks-previewrozszerzenie i zarejestrować flagę podglądu.Określenie parametru
OsSKUwymaga modułu PowerShell Az w wersji 9.2.0 lub nowszej.
aks-preview Instalowanie rozszerzenia
Ważne
Funkcje usługi AKS w wersji zapoznawczej są dostępne na zasadzie samoobsługi i wymagają zapisania się. 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, świadczoną w miarę możliwości. 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:
- Zainstaluj rozszerzenie CLI platformy Azure przy użyciu polecenia
aks-preview.
az extension add --name aks-preview
- Przeprowadź aktualizację do najnowszej wersji rozszerzenia przy użyciu
az extension updatepolecenia . System Windows Server 2025 wymaga co najmniej 18.0.0b40.
az extension update --name aks-preview
Zarejestruj flagę funkcji AksWindows2025Preview
- Zarejestruj flagę funkcji
AksWindows2025Previewprzy użyciu polecenia [az feature register][az-feature-register].
az feature register --name AksWindows2025Preview --namespace Microsoft.ContainerService
- Sprawdź stan rejestracji przy użyciu polecenia [
az feature show][az-feature-show]. Wyświetlenie stanu Zarejestrowane trwa kilka minut.
az feature show --name AksWindows2025Preview --namespace Microsoft.ContainerService
Gdy stan będzie odzwierciedlał wartość Zarejestrowano, odśwież rejestrację dostawcy zasobów Microsoft.ContainerService przy użyciu polecenia [
az provider register][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. Podczas tworzenia grupy zasobów zostanie wyświetlony monit o określenie lokalizacji. Ta lokalizacja polega na tym, że metadane grupy zasobów są przechowywane i gdzie zasoby są uruchamiane na platformie Azure, jeśli nie określisz innego regionu podczas tworzenia zasobów.
Utwórz grupę zasobów przy użyciu polecenia
New-AzResourceGroupcmdlet. Poniższy przykład tworzy grupę zasobów o nazwie myResourceGroup w regionie eastus .New-AzResourceGroup -Name myResourceGroup -Location eastusNastępujące przykładowe dane wyjściowe pokazują, że grupa zasobów została pomyślnie utworzona:
ResourceGroupName : myResourceGroup Location : eastus ProvisioningState : Succeeded Tags : ResourceId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup
Utwórz klaster AKS
W tej sekcji utworzymy klaster usługi AKS z następującą konfiguracją:
- Klaster jest skonfigurowany z dwoma węzłami w celu zapewnienia, że działa niezawodnie. Węzeł to maszyna wirtualna platformy Azure (VM), która uruchamia komponenty węzła Kubernetes i środowisko uruchomieniowe kontenera.
- Parametry
-WindowsProfileAdminUserNamei-WindowsProfileAdminUserPasswordustawiają poświadczenia administratora dla wszystkich węzłów systemu Windows Server w klastrze i muszą spełniać wymagania dotyczące złożoności hasła systemu Windows Server. - Pula węzłów używa metody
VirtualMachineScaleSets.
Wykonaj następujące kroki, aby utworzyć klaster usługi AKS za pomocą programu Azure PowerShell:
Utwórz poświadczenia administratora dla kontenerów systemu Windows Server przy użyciu następującego polecenia. To polecenie wyświetla monit o wprowadzenie znaku
WindowsProfileAdminUserNameiWindowsProfileAdminUserPassword. Hasło musi zawierać co najmniej 14 znaków i spełniać wymagania dotyczące złożoności hasła systemu Windows Server.$AdminCreds = Get-Credential ` -Message 'Please create the administrator credentials for your Windows Server containers'Utwórz klaster za pomocą polecenia cmdlet
New-AzAksClusteri określ parametryWindowsProfileAdminUserNameorazWindowsProfileAdminUserPassword.New-AzAksCluster -ResourceGroupName myResourceGroup ` -Name myAKSCluster ` -NodeCount 2 ` -NetworkPlugin azure ` -NodeVmSetType VirtualMachineScaleSets ` -WindowsProfileAdminUserName $AdminCreds.UserName ` -WindowsProfileAdminUserPassword $secureString ` -GenerateSshKeyPo kilku minutach polecenie zostanie wykonane i zwróci informacje o klastrze w formacie JSON. Czasami aprowizacja klastra może potrwać dłużej niż kilka minut. Konfiguracja może zająć do 10 minut.
Jeśli wystąpi błąd weryfikacji hasła, a ustawione hasło spełnia wymagania dotyczące długości i złożoności, spróbuj utworzyć grupę zasobów w innym regionie. Następnie spróbuj utworzyć klaster przy użyciu nowej grupy zasobów.
Jeśli nie określisz nazwy użytkownika i hasła administratora podczas tworzenia puli węzłów, nazwa użytkownika zostanie ustawiona na azureuser , a hasło zostanie ustawione na wartość losową. Aby uzyskać więcej informacji, zobacz Często zadawane pytania dotyczące systemu Windows Server.
Nie można zmienić nazwy użytkownika administratora, ale można zmienić hasło administratora używane przez klaster usługi AKS dla węzłów systemu Windows Server przy użyciu polecenia
az aks update. Aby uzyskać więcej informacji, zobacz Często zadawane pytania dotyczące systemu Windows Server.Aby uruchomić klaster usługi AKS obsługujący pule węzłów dla kontenerów systemu Windows Server, klaster musi używać polityki sieciowej korzystającej z wtyczki sieciowej Azure CNI (advanced). Parametr
-NetworkPlugin azureokreśla usługę Azure CNI.
Dodaj pulę węzłów
Domyślnie klaster AKS jest tworzony z puli węzłów, która może uruchamiać kontenery Linuksa. Należy dodać kolejną pulę węzłów, która może uruchamiać kontenery systemu Windows Server wraz z pulą węzłów systemu Linux.
Aby utworzyć pulę węzłów systemu Windows, należy określić obsługiwane OsType i OsSku. Skorzystaj z informacji w poniższej tabeli, aby określić, która z nich jest odpowiednia dla klastra:
OsType |
OsSku |
Default | Obsługiwane wersje K8s | Szczegóły |
|---|---|---|---|---|
windows |
Windows2025 |
Obecnie w wersji zapoznawczej Wartość domyślna nie jest domyślna. | 1.32+ | Zaktualizowane wartości domyślne: kontenerd 2.0, obraz generacji 2 jest używany domyślnie. |
windows |
Windows2022 |
Wartość domyślna w K8s 1.25-1.35 | Niedostępne w K8s 1.36+ | Przechodzi na emeryturę w marcu 2027 r. Zaktualizowane wartości domyślne: domyślnie włączono standard FIPS. |
windows |
Windows2019 |
Domyślnie w K8s 1.24 i poniżej | Niedostępne w K8s 1.33+ | Przechodzi na emeryturę w marcu 2026 r. |
Windows Server 2022 to domyślny system operacyjny dla platformy Kubernetes w wersji 1.25-1.35. System operacyjny Windows Server 2019 jest domyślnym systemem operacyjnym dla wcześniejszych wersji. Jeśli nie określisz konkretnej jednostki SKU systemu operacyjnego, platforma Azure utworzy nową pulę węzłów z domyślną jednostkę SKU dla wersji rozwiązania Kubernetes używanej przez klaster.
Uwaga / Notatka
- System Windows Server 2019 jest wycofany 1 marca 2026 r. Po tej dacie usługa AKS nie będzie już tworzyć nowych obrazów węzłów ani udostępniać poprawek zabezpieczeń. Po tej dacie nie będzie można utworzyć nowych pul węzłów z systemem Windows Server 2019 w żadnej wersji platformy Kubernetes. Wszystkie istniejące pule węzłów z systemem Windows Server 2019 nie będą obsługiwane. System Windows Server 2019 nie jest obsługiwany w rozwiązaniu Kubernetes w wersji 1.33 lub nowszej. Od 1 kwietnia 2027 r. AKS usunie wszystkie istniejące obrazy węzłów dla systemu Windows Server 2019, co oznacza, że operacje skalowania zakończą się niepowodzeniem.
- System Windows Server 2022 jest wycofany 15 marca 2027 r. Po tej dacie usługa AKS nie będzie już generować nowych obrazów węzłów ani dostarczać poprawek zabezpieczeń. Po tej dacie nie będzie można tworzyć nowych pul węzłów w systemie Windows Server 2022 w żadnej wersji platformy Kubernetes. Wszystkie istniejące pule węzłów z systemem Windows Server 2022 nie będą obsługiwane. System Windows Server 2022 nie jest obsługiwany w rozwiązaniu Kubernetes w wersji 1.36 lub nowszej. Od 1 kwietnia 2028 r. AKS usunie wszystkie istniejące obrazy węzłów dla systemu Windows Server 2022, co oznacza, że operacje skalowania zakończą się niepowodzeniem.
Aby uzyskać więcej informacji, zobacz Informacje o wersji usługi AKS. Aby być na bieżąco z najnowszymi wersjami systemu operacyjnego Windows Server i dowiedzieć się więcej o harmonogramie planowania pomocy technicznej w usłudze AKS, zobacz nasz publiczny plan usługi AKS.
Dodaj pulę węzłów systemu Windows Server przy użyciu polecenia cmdlet
New-AzAksNodePool. Następujące polecenie tworzy nową pulę węzłów o nazwie npwin i dodaje ją do folderu myAKSCluster. Polecenie używa również domyślnej podsieci w domyślnej sieci wirtualnej utworzonej podczas uruchamiania poleceniaNew-AzAksCluster:New-AzAksNodePool -ResourceGroupName myResourceGroup ` -ClusterName myAKSCluster ` -VmSetType VirtualMachineScaleSets ` -OsType Windows ` -OsSKU Windows2022 ` -Name npwin
Połącz się z klastrem
Do zarządzania klastrami Kubernetes używasz narzędzia kubectl, klienta wiersza polecenia Kubernetes. Jeśli korzystasz z usługi Azure Cloud Shell, narzędzie kubectl jest już zainstalowane. Jeśli chcesz zainstalować kubectl lokalnie, możesz użyć Install-AzAzAksCliTool polecenia cmdlet .
Skonfiguruj
kubectl, aby przy użyciu polecenia cmdlet nawiązać połączenie z klastrem KubernetesImport-AzAksCredential. To polecenie pobiera poświadczenia i konfiguruje Kubernetes CLI do ich użycia.Import-AzAksCredential -ResourceGroupName myResourceGroup -Name myAKSClusterSprawdź połączenie z klastrem przy użyciu polecenia
kubectl get, które zwraca listę węzłów klastra.kubectl get nodesPoniższe przykładowe dane wyjściowe pokazują wszystkie węzły w klastrze. Upewnij się, że stan wszystkich węzłów to Gotowe:
NAME STATUS ROLES AGE VERSION aks-nodepool1-20786768-vmss000000 Ready agent 22h v1.27.7 aks-nodepool1-20786768-vmss000001 Ready agent 22h v1.27.7 aksnpwin000000 Ready agent 21h v1.27.7
Wdrażanie aplikacji
Plik manifestu Kubernetes definiuje żądany stan klastra, na przykład jakie obrazy kontenerów mają być uruchomione. W tym artykule użyjesz manifestu, aby utworzyć wszystkie obiekty potrzebne do uruchomienia przykładowej aplikacji ASP.NET w kontenerze systemu Windows Server. Ten manifest obejmuje wdrożenie platformy Kubernetes dla przykładowej aplikacji ASP.NET oraz zewnętrzną usługę Kubernetes w celu uzyskania dostępu do aplikacji z Internetu.
Przykładowa aplikacja ASP.NET jest udostępniana w ramach przykładów programu .NET Framework i działa w kontenerze systemu Windows Server. Usługa AKS wymaga, aby kontenery systemu Windows Server bazowały na obrazach systemu Windows Server 2019 lub nowszych. Plik manifestu Kubernetes musi również zdefiniować selektor węzła, aby poinformować klaster AKS o uruchomieniu poda przykładowej aplikacji ASP.NET na węźle, który może uruchamiać kontenery Windows Server.
Utwórz plik o nazwie
sample.yamli skopiuj go w następującej definicji YAML:apiVersion: apps/v1 kind: Deployment metadata: name: sample labels: app: sample spec: replicas: 1 template: metadata: name: sample labels: app: sample spec: nodeSelector: "kubernetes.io/os": windows containers: - name: sample image: mcr.microsoft.com/dotnet/framework/samples:aspnetapp resources: limits: cpu: 1 memory: 800M ports: - containerPort: 80 selector: matchLabels: app: sample --- apiVersion: v1 kind: Service metadata: name: sample spec: type: LoadBalancer ports: - protocol: TCP port: 80 selector: app: sampleAby uzyskać podział plików manifestu YAML, zobacz Wdrożenia i manifesty YAML.
Jeśli tworzysz i zapisujesz plik YAML lokalnie, możesz przekazać plik manifestu do katalogu domyślnego w programie CloudShell, wybierając przycisk Przekaż/Pobierz pliki i wybierając plik z lokalnego systemu plików.
Wdróż aplikację przy użyciu
kubectl applypolecenia i określ nazwę manifestu YAML.kubectl apply -f sample.yamlNastępujące przykładowe dane wyjściowe pokazują pomyślne utworzenie wdrożenia i usługi:
deployment.apps/sample created service/sample created
Testowanie aplikacji
Podczas uruchamiania aplikacji usługa Kubernetes uwidacznia fronton aplikacji w Internecie. Ten proces może potrwać kilka minut. Czasami udostępnienie usługi może potrwać dłużej niż kilka minut. Konfiguracja może zająć do 10 minut.
Sprawdź stan wdrożonych zasobników za pomocą polecenia
kubectl get pods. Upewnij się, że wszystkie zasobniki sąRunningprzed kontynuowaniem.kubectl get podsMonitoruj postęp za pomocą
kubectl get servicepolecenia z argumentem--watch.kubectl get service sample --watchPoczątkowo dane wyjściowe przedstawiają adres EXTERNAL-IP dla przykładowej usługi jako oczekujące:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE sample LoadBalancer 10.0.37.27 <pending> 80:30572/TCP 6sGdy adres EXTERNAL-IP zmieni się z w trakcie oczekiwania na rzeczywisty publiczny adres IP, użyj
CTRL-Cdo zatrzymania procesu monitorowaniakubectl.Następujące przykładowe dane wyjściowe przedstawiają prawidłowy publiczny adres IP przypisany do usługi:
sample LoadBalancer 10.0.37.27 52.179.23.131 80:30572/TCP 2mZobacz przykładową aplikację w działaniu, otwierając przeglądarkę internetową na zewnętrzny adres IP usługi.
Usuwanie zasobów
Jeśli nie planujesz przechodzenia przez samouczek usługi AKS, usuń klaster, aby uniknąć naliczania opłat za platformę Azure.
Usuń grupę zasobów, usługę kontenera i wszystkie powiązane zasoby przy użyciu
Remove-AzResourceGrouppolecenia cmdlet .Remove-AzResourceGroup -Name myResourceGroupUwaga / Notatka
Klaster usługi AKS został utworzony przy użyciu tożsamości zarządzanej przypisanej przez system (domyślna opcja tożsamości używana w tym szybkim starcie). Platforma Azure zarządza tą tożsamością, więc nie wymaga usunięcia.
Dalsze kroki
W tym szybkim przewodniku wdrożono klaster Kubernetes, a następnie umieszczono w nim przykładową aplikację ASP.NET w kontenerze Windows Server. 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 na temat usługi AKS i zapoznać się z kompletnym przykładem kodu do wdrożenia, przejdź do samouczka dotyczącego klastra Kubernetes.