Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Azure Kubernetes Service (AKS) is een beheerde Kubernetes-service waarmee u snel clusters kunt implementeren en beheren. In dit artikel gebruikt u Azure PowerShell om een AKS-cluster met Windows Server-containers te implementeren. U implementeert ook een ASP.NET voorbeeldtoepassing in een Windows Server-container in het cluster.
Notitie
Om snel aan de slag te gaan met het snel inrichten van een AKS-cluster, bevat dit artikel stappen voor het implementeren van een cluster met alleen standaardinstellingen voor evaluatiedoeleinden. Voordat u een cluster implementeert dat gereed is voor productie, raden we u aan vertrouwd te raken met de referentiearchitectuur van de basislijn om na te gaan hoe dit overeenkomt met uw bedrijfsvereisten.
Voordat u begint
In deze snelstart wordt ervan uitgegaan dat u een basisbegrip hebt van Kubernetes-concepten. Zie Kubernetes-kernconcepten voor Azure Kubernetes Service (AKS) voor meer informatie.
-
Als u geen Azure-account hebt, maak dan een gratis account aan voordat u begint.
Probeer de PowerShell-omgeving in Azure Cloud Shell voor gebruiksgemak. Zie Quickstart voor Azure Cloud Shell voor meer informatie.
Als u PowerShell lokaal wilt gebruiken, installeert u de Az PowerShell-module en maakt u verbinding met uw Azure-account met behulp van de cmdlet Connect-AzAccount . Zorg ervoor dat u de opdrachten uitvoert met beheerdersbevoegdheden. Zie Azure PowerShell installeren voor meer informatie.
Zorg ervoor dat de identiteit die u gebruikt om uw cluster te maken de juiste minimale machtigingen heeft. Zie Toegangs- en identiteitsopties voor Azure Kubernetes Service (AKS) voor meer informatie over toegang en identiteit voor AKS.
Als u meer dan één Azure-abonnement hebt, stelt u het abonnement in dat u voor de quickstart wilt gebruiken door de cmdlet Set-AzContext aan te roepen. Zie Azure-abonnementen beheren met Azure PowerShell voor meer informatie.
Voor het opgeven van de
OsSKUparameter is PowerShell Az-moduleversie 9.2.0 of hoger vereist.
Een brongroep maken
Een Azure-resourcegroep is een logische groep waarin Azure-resources worden geïmplementeerd en beheerd. Wanneer u een resourcegroep maakt, wordt u gevraagd een locatie op te geven. Op deze locatie worden metagegevens van de resourcegroep opgeslagen en waar uw resources worden uitgevoerd in Azure als u geen andere regio opgeeft tijdens het maken van resources.
Maak een resourcegroep met behulp van de
New-AzResourceGroupcmdlet. In het volgende voorbeeld wordt een resourcegroep met de naam myResourceGroup gemaakt in de regio eastus.New-AzResourceGroup -Name myResourceGroup -Location eastusIn de volgende voorbeelduitvoer ziet u dat de resourcegroep met succes is gemaakt.
ResourceGroupName : myResourceGroup Location : eastus ProvisioningState : Succeeded Tags : ResourceId : /subscriptions/a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1/resourceGroups/myResourceGroup
Een AKS-cluster maken
In deze sectie maken we een AKS-cluster met de volgende configuratie:
- Het cluster is geconfigureerd met twee knooppunten om ervoor te zorgen dat het betrouwbaar werkt. Een knooppunt is een virtuele Azure-machine (VM) waarop de Onderdelen van het Kubernetes-knooppunt en de containerruntime worden uitgevoerd.
- De
-WindowsProfileAdminUserNameen-WindowsProfileAdminUserPasswordparameters stellen de beheerdersreferenties in voor alle Windows Server-knooppunten in het cluster en moeten voldoen aan de vereisten voor wachtwoordcomplexiteit van Windows Server. - De knooppuntgroep maakt gebruik van
VirtualMachineScaleSets.
Gebruik de volgende stappen om het AKS-cluster te maken met Azure PowerShell:
Maak de beheerdersreferenties voor uw Windows Server-containers met behulp van de volgende opdracht. Met deze opdracht wordt u gevraagd een
WindowsProfileAdminUserNameenWindowsProfileAdminUserPasswordin te voeren. Het wachtwoord moet minimaal 14 tekens bevatten en voldoen aan de vereisten voor wachtwoordcomplexiteit van Windows Server.$AdminCreds = Get-Credential ` -Message 'Please create the administrator credentials for your Windows Server containers'Maak uw cluster met behulp van de
New-AzAksClustercmdlet en geef deWindowsProfileAdminUserNameenWindowsProfileAdminUserPasswordparameters op.New-AzAksCluster -ResourceGroupName myResourceGroup ` -Name myAKSCluster ` -KubernetesVersion 1.33 ` -NodeCount 2 ` -NetworkPlugin azure ` -NodeVmSetType VirtualMachineScaleSets ` -WindowsProfileAdminUserName $AdminCreds.UserName ` -WindowsProfileAdminUserPassword $secureString ` -GenerateSshKeyNa enkele minuten is de opdracht voltooid en retourneert deze informatie over het cluster in JSON-indeling. Soms kan het langer dan een paar minuten duren om het cluster in te richten. Wacht maximaal 10 minuten totdat het inrichten is voltooid.
Als u een wachtwoordvalidatiefout krijgt en het wachtwoord dat u instelt, voldoet aan de lengte- en complexiteitsvereisten, probeert u de resourcegroep in een andere regio te maken. Probeer vervolgens het cluster aan te maken met de nieuwe resourcegroep.
Als u geen gebruikersnaam en wachtwoord voor de beheerder opgeeft bij het maken van de knooppuntgroep, wordt de gebruikersnaam ingesteld op azureuser en wordt het wachtwoord ingesteld op een willekeurige waarde. Zie de veelgestelde vragen over Windows Server voor meer informatie.
De gebruikersnaam van de beheerder kan niet worden gewijzigd, maar u kunt het beheerderswachtwoord wijzigen dat uw AKS-cluster gebruikt voor Windows Server-knooppunten.
az aks updateZie de veelgestelde vragen over Windows Server voor meer informatie.Als u een AKS-cluster wilt uitvoeren dat ondersteuning biedt voor knooppuntgroepen voor Windows Server-containers, moet uw cluster een netwerkbeleid gebruiken dat gebruikmaakt van de Azure CNI-netwerkinvoegtoepassing (geavanceerd ). Met de
-NetworkPlugin azureparameter wordt Azure CNI opgegeven.
Een knooppuntgroep toevoegen
Standaard wordt een AKS-cluster gemaakt met een knooppuntgroep die Linux-containers kan uitvoeren. U moet een andere knooppuntgroep toevoegen waarmee Windows Server-containers naast de Linux-knooppuntgroep kunnen worden uitgevoerd.
Om een Windows-nodepool te maken, moet u een ondersteunde OsType en OsSku opgeven. Gebruik de informatie in de volgende tabel om te bepalen welke geschikt is voor uw cluster:
OsType |
OsSku |
Verstek | Ondersteunde K8s-versies | Bijzonderheden |
|---|---|---|---|---|
windows |
Windows2025 |
Standaard in K8s 1.36+ | 1.32+ | Bijgewerkte standaardinstellingen: containerd 2.0, standaard wordt een Generation 2-image gebruikt. FIPS is vereist: voeg -EnableFIPS toe wanneer u de nodegroep maakt. |
windows |
Windows2022 |
Standaardwaarde in K8s 1.25-1.35 | Niet beschikbaar in K8s 1.37+ | Wordt in juni 2028 buiten gebruik gesteld. Bijgewerkte standaardinstellingen: FIPS is standaard ingeschakeld. |
Windows Server 2025 is het standaardbesturingssysteem voor Kubernetes versie 1.36 en hoger. Windows Server 2022 is de standaardinstelling voor Kubernetes-versies 1.25-1.35. Als u geen bepaalde SKU voor het besturingssysteem opgeeft, maakt Azure de nieuwe knooppuntgroep met de standaard-SKU voor de versie van Kubernetes die door het cluster wordt gebruikt.
Belangrijk
Vanaf 30 juni 2028 biedt Azure Kubernetes Service (AKS) geen ondersteuning meer voor Windows Server 2022 knooppuntgroepen. Windows Server 2022 wordt niet ondersteund in Kubernetes versie 1.37 en hoger. Vanaf 30 juni 2029 verwijdert AKS alle bestaande knooppuntinstallatiekopieën voor Windows Server 2022, wat betekent dat schaalbewerkingen mislukken. Zie voor meer informatie over deze buitengebruikstelling het buitengebruikstellingsprobleem op GitHub en de Azure Updates-buitengebruikstellingsaankondiging. Als u op de hoogte wilt blijven van aankondigingen en updates, kunt u de AKS-releaseopmerkingen volgen.
Voeg een Windows Server-knooppuntgroep toe met behulp van de
New-AzAksNodePoolcmdlet. Met de volgende opdracht maakt u een nieuwe knooppuntgroep met de naam npwin en voegt u deze toe aan myAKSCluster. De opdracht maakt ook gebruik van het standaardsubnet in het standaard virtuele netwerk dat is gemaakt tijdens het uitvoerenNew-AzAksCluster. Voor Windows Server 2025-knooppuntgroepen is een installatiekopie met FIPS ingeschakeld vereist, dus bevat de volgende opdracht-EnableFIPS:New-AzAksNodePool -ResourceGroupName myResourceGroup ` -ClusterName myAKSCluster ` -VmSetType VirtualMachineScaleSets ` -OsType Windows ` -OsSKU Windows2025 ` -EnableFIPS ` -Name npwin
Verbinding maken met het cluster
U gebruikt kubectl, de Kubernetes-opdrachtregelclient, om uw Kubernetes-clusters te beheren. Als u Azure Cloud Shell gebruikt, is kubectl al geïnstalleerd. Als u lokaal wilt installeren kubectl , kunt u de Install-AzAzAksCliTool cmdlet gebruiken.
Configureer
kubectlom verbinding te maken met uw Kubernetes-cluster met behulp vanImport-AzAksCredentialcmdlet. Met deze opdracht worden inloggegevens gedownload en wordt de Kubernetes-CLI geconfigureerd om deze te gebruiken.Import-AzAksCredential -ResourceGroupName myResourceGroup -Name myAKSClusterControleer de verbinding met uw cluster met behulp van de opdracht
kubectl get, die een lijst met de clusterknooppunten retourneert.kubectl get nodes -o wideIn de volgende voorbeelduitvoer ziet u alle knooppunten in het cluster. Zorg ervoor dat de status van alle knooppunten gereed is:
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME aks-nodepool1-20786768-vmss000000 Ready agent 22h v1.33.12 10.224.0.4 <none> Ubuntu 22.04.5 LTS 5.15.0-1116-azure containerd://1.7.33-1 aks-nodepool1-20786768-vmss000001 Ready agent 22h v1.33.12 10.224.0.33 <none> Ubuntu 22.04.5 LTS 5.15.0-1116-azure containerd://1.7.33-1 aksnpwin000000 Ready agent 20h v1.33.12 10.224.0.62 <none> Windows Server 2025 Datacenter 10.0.26100.32995 containerd://2.0.4+azure
De toepassing implementeren
In een Kubernetes-manifestbestand wordt een gewenste status voor het cluster gedefinieerd, zoals welke containerinstallatiekopieën moeten worden uitgevoerd. In dit artikel gebruikt u een manifest om alle objecten te maken die nodig zijn om de ASP.NET voorbeeldtoepassing uit te voeren in een Windows Server-container. Dit manifest bevat een Kubernetes-implementatie voor de ASP.NET voorbeeldtoepassing en een externe Kubernetes-service voor toegang tot de toepassing vanaf internet.
De ASP.NET voorbeeldtoepassing maakt deel uit van de .NET Framework-voorbeelden en wordt uitgevoerd in een Windows Server-container. Voor AKS moeten Windows Server-containers zijn gebaseerd op installatiekopieën van Windows Server 2022 of hoger. Het Kubernetes-manifestbestand moet ook een knooppuntkiezer definiëren om uw AKS-cluster te laten weten dat de pod van uw ASP.NET voorbeeldtoepassing moet worden uitgevoerd op een knooppunt waarop Windows Server-containers kunnen worden uitgevoerd.
Maak een bestand met de naam
sample.yamlen kopieer deze in de volgende YAML-definitie: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: sampleZie Implementaties en YAML-manifestmanifesten voor een uitsplitsing van YAML-manifestbestanden.
Als u het YAML-bestand lokaal maakt en opslaat, kunt u het manifestbestand uploaden naar uw standaardmap in CloudShell door de knop Bestanden uploaden/downloaden te selecteren en het bestand in uw lokale bestandssysteem te selecteren.
Implementeer de toepassing met behulp van de
kubectl applyopdracht en geef de naam van uw YAML-manifest op.kubectl apply -f sample.yamlIn het volgende voorbeelduitvoer ziet u dat de implementatie en service met succes zijn gemaakt.
deployment.apps/sample created service/sample created
De toepassing testen
Wanneer de toepassing wordt uitgevoerd, maakt een Kubernetes-service de front-end van de toepassing beschikbaar op internet. Dit proces kan enkele minuten duren. Soms kan het inrichten van de service langer duren dan een paar minuten. Wacht maximaal 10 minuten totdat het inrichten is voltooid.
Controleer de status van de geïmplementeerde pods met behulp van de
kubectl get podsopdracht. Zorg ervoor dat alle podsRunningzijn voordat u doorgaat.kubectl get podsBewaak de voortgang met behulp van de
kubectl get serviceopdracht met het--watchargument.kubectl get service sample --watchIn eerste instantie wordt in de uitvoer het EXTERNE IP-adres voor de voorbeeldservice weergegeven als in behandeling:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE sample LoadBalancer 10.0.37.27 <pending> 80:30572/TCP 6sWanneer het EXTERNAL-IP-adres verandert van pending naar een daadwerkelijk openbaar IP-adres, gebruikt u
CTRL-Com het watch-proces vankubectlte stoppen.In de volgende voorbeelduitvoer ziet u een geldig openbaar IP-adres dat aan de service is toegewezen:
sample LoadBalancer 10.0.37.27 52.179.23.131 80:30572/TCP 2mBekijk de voorbeeld-app in actie door een webbrowser te openen naar het externe IP-adres van uw service.
Hulpbronnen verwijderen
Als u niet van plan bent om door te gaan met de AKS-zelfstudie, verwijdert u uw cluster om te voorkomen dat Er kosten in rekening worden gebracht voor Azure.
Verwijder de resourcegroep, containerservice en alle gerelateerde resources met behulp van de
Remove-AzResourceGroupcmdlet.Remove-AzResourceGroup -Name myResourceGroupNotitie
Het AKS-cluster is gemaakt met door het systeem toegewezen beheerde identiteit (standaardidentiteitsoptie die in deze quickstart wordt gebruikt). Het Azure-platform beheert deze identiteit, zodat deze niet hoeft te worden verwijderd.
Volgende stappen
In deze quickstart hebt u een Kubernetes-cluster geïmplementeerd en vervolgens een ASP.NET voorbeeldtoepassing geïmplementeerd in een Windows Server-container. Deze voorbeeldtoepassing is alleen bedoeld voor demodoeleinden en vertegenwoordigt niet alle aanbevolen procedures voor Kubernetes-toepassingen. Zie de richtlijnen voor AKS-oplossingen voor meer informatie over het maken van volledige oplossingen met AKS voor productie.
Als u meer wilt weten over AKS en een volledig voorbeeld van code-naar-implementatie wilt doorlopen, gaat u verder met de zelfstudie over het Kubernetes-cluster.