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 CLI 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.
Opmerking
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.
Gebruik de Bash-omgeving in Azure Cloud Shell. Zie Aan de slag met Azure Cloud Shell voor meer informatie.
Als je de voorkeur geeft aan het lokaal uitvoeren van CLI-referentiecommando's, installeer dan de Azure CLI. Als je op Windows of macOS werkt, overweeg dan om Azure CLI in een Docker-container te draaien. Voor meer informatie, zie Hoe u de Azure CLI in een Docker-container kunt uitvoeren.
Als u een lokale installatie gebruikt, meldt u zich aan bij Azure CLI met de opdracht az login. Om het authenticatieproces te voltooien, volgt u de stappen die op uw terminal worden weergegeven. Zie Verifiëren bij Azure met behulp van Azure CLI voor andere aanmeldingsopties.
Wanneer u daarom wordt gevraagd, installeer de Azure CLI-extensie bij het eerste gebruik. Zie Extensies gebruiken en beheren met de Azure CLIvoor meer informatie over extensies.
Voer az version uit om de geïnstalleerde versie en de afhankelijke bibliotheken te vinden. Voer az upgrade uit om naar de nieuwste versie te upgraden.
- Voor dit artikel is versie 2.0.64 of hoger van Azure CLI vereist. Als u Azure Cloud Shell gebruikt, is de nieuwste versie daar al geïnstalleerd.
- 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 meerdere Azure-abonnementen hebt, selecteert u de juiste abonnements-id waarin de resources moeten worden gefactureerd met behulp van de
az account setopdracht. Zie Azure-abonnementen beheren - Azure CLI voor meer informatie. - Als u de extensie gebruikt
--os-sku Windows2025, moet u deaks-previewextensie installeren en de preview-vlag registreren. De minimale versie is 18.0.0b40.
aks-preview De extensie installeren
Belangrijk
AKS preview-functies zijn beschikbaar op selfservice, opt-in basis. Previews worden geleverd 'zoals het is' en 'voor zover beschikbaar' en zijn uitgesloten van de serviceovereenkomsten en beperkte garantie. AKS-previews worden gedeeltelijk gedekt door klantondersteuning naar best vermogen. Zodoende zijn deze functies niet bedoeld voor productiegebruik. Zie de volgende ondersteuningsartikelen voor meer informatie:
- Installeer de
aks-previewAzure CLI-extensie met behulp van deaz extension addopdracht.
az extension add --name aks-preview
- Werk bij naar de nieuwste versie van de extensie met behulp van de
az extension updateopdracht. Windows Server 2025 vereist minimaal 18.0.0b40.
az extension update --name aks-preview
AksWindows2025Preview De functievlag registreren
- Registreer de
AksWindows2025Previewfunctievlag met behulp van de opdracht [az feature register][az-feature-register].
az feature register --name AksWindows2025Preview --namespace Microsoft.ContainerService
- Controleer de registratiestatus met behulp van de opdracht [
az feature show][az-feature-show]. Het duurt enkele minuten voordat de status Geregistreerd wordt weergegeven.
az feature show --name AksWindows2025Preview --namespace Microsoft.ContainerService
Wanneer de status Geregistreerd is, vernieuwt u de registratie van de Resourceprovider Microsoft.ContainerService met behulp van de opdracht [
az provider register][az-provider-register].az provider register --namespace Microsoft.ContainerService
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
az group createopdracht. In het volgende voorbeeld wordt een resourcegroep met de naam myResourceGroup gemaakt op de locatie WestUS2 .export RANDOM_SUFFIX=$(openssl rand -hex 3) export REGION="canadacentral" export MY_RESOURCE_GROUP_NAME="myAKSResourceGroup$RANDOM_SUFFIX" az group create --name $MY_RESOURCE_GROUP_NAME --location $REGIONResultaten:
{ "id": "/subscriptions/xxxxx-xxxxx-xxxxx-xxxxx/resourceGroups/myResourceGroupxxxxx", "location": "WestUS2", "managedBy": null, "name": "myResourceGroupxxxxx", "properties": { "provisioningState": "Succeeded" }, "tags": null, "type": "Microsoft.Resources/resourceGroups" }
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
--windows-admin-passworden--windows-admin-usernameparameters stellen de beheerdersreferenties in voor alle Windows Server-knooppunten in het cluster en moeten voldoen aan de wachtwoordvereisten voor Windows Server. - De knooppuntgroep maakt gebruik van
VirtualMachineScaleSets.
Gebruik de volgende stappen om het AKS-cluster te maken met Azure CLI:
Maak een gebruikersnaam om te gebruiken als beheerdersreferenties voor de Windows Server-knooppunten in uw cluster.
export WINDOWS_USERNAME="winadmin"Maak een wachtwoord voor de gebruikersnaam van de beheerder die u in de vorige stap hebt gemaakt. Het wachtwoord moet minimaal 14 tekens bevatten en voldoen aan de vereisten voor wachtwoordcomplexiteit van Windows Server.
export WINDOWS_PASSWORD=$(echo "P@ssw0rd$(openssl rand -base64 10 | tr -dc 'A-Za-z0-9!@#$%^&*()' | cut -c1-6)")Maak uw cluster met behulp van de
az aks createopdracht en geef de--windows-admin-usernameen--windows-admin-passwordparameters op. Met de volgende voorbeeldcommando maakt u een cluster met behulp van de waarden uitWINDOWS_USERNAMEenWINDOWS_PASSWORDdie u in de vorige opdrachten hebt ingesteld. Er wordt een willekeurig achtervoegsel toegevoegd aan de clusternaam voor uniekheid.export MY_AKS_CLUSTER="myAKSCluster$RANDOM_SUFFIX" az aks create \ --resource-group $MY_RESOURCE_GROUP_NAME \ --name $MY_AKS_CLUSTER \ --node-count 2 \ --enable-addons monitoring \ --generate-ssh-keys \ --windows-admin-username $WINDOWS_USERNAME \ --windows-admin-password $WINDOWS_PASSWORD \ --vm-set-type VirtualMachineScaleSets \ --network-plugin azureNa enkele minuten is de opdracht voltooid en retourneert deze informatie over het cluster in JSON-indeling. Soms kan het inrichten van het cluster meer dan een paar minuten duren. Wacht maximaal 10 minuten voor inrichting.
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 te maken met de nieuwe resource-groep.
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
U kunt de gebruikersnaam van de beheerder niet wijzigen, maar u kunt het beheerderswachtwoord wijzigen dat uw AKS-cluster gebruikt voor Windows Server-knooppunten.
az aks updateZie 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
--network-plugin azureparameter wordt Azure CNI opgegeven.
Een knooppuntgroep toevoegen
Standaard worden alle AKS-clusters gemaakt met een knooppuntgroep waarop Linux-containers kunnen worden uitgevoerd. U moet een Windows-knooppuntgroep toevoegen waarmee Windows Server-containers naast de Linux-knooppuntgroep kunnen worden uitgevoerd. Als u wilt controleren of u een Windows-knooppuntgroep in uw cluster hebt, kunt u de knooppunten in uw cluster weergeven met behulp van de kubectl get nodes -o wide opdracht.
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 |
Momenteel in voorlopige versie. Niet standaard. | 1.32+ | Bijgewerkte standaardinstellingen: containerd 2.0, generatie 2-images worden standaard gebruikt. |
windows |
Windows2022 |
Standaardwaarde in K8s 1.25-1.35 | Niet beschikbaar in K8s 1.36+ | Wordt in maart 2027 buiten gebruik gesteld. Bijgewerkte standaardinstellingen: FIPS is standaard ingeschakeld. |
windows |
Windows2019 |
Standaard in K8s 1.24 en lager | Niet beschikbaar in K8s 1.33+ | Wordt in maart 2026 buiten gebruik gesteld. |
Windows Server 2022 is het standaardbesturingssysteem voor Kubernetes-versies 1.25-1.35. Windows Server 2019 is het standaard besturingssysteem voor eerdere versies. 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.
Opmerking
- Windows Server 2019 wordt buiten gebruik gesteld op 1 maart 2026. Na die datum produceert AKS geen nieuwe knooppuntinstallatiekopieën meer of beveiligingspatches. Na die datum kunt u geen nieuwe knooppuntgroepen maken met Windows Server 2019 op een Kubernetes-versie. Alle bestaande knooppuntgroepen met Windows Server 2019 worden niet ondersteund. Windows Server 2019 wordt niet ondersteund in Kubernetes versie 1.33 en hoger. Vanaf 1 april 2027 verwijdert AKS alle bestaande knooppuntinstallatiekopieën voor Windows Server 2019, wat betekent dat schaalbewerkingen mislukken.
- Windows Server 2022 wordt buiten gebruik gesteld op 15 maart 2027. Na die datum produceert AKS geen nieuwe knooppuntinstallatiekopieën meer of beveiligingspatches. Na die datum kunt u geen nieuwe knooppuntgroepen maken met Windows Server 2022 op een Kubernetes-versie. Alle bestaande knooppuntgroepen met Windows Server 2022 worden niet ondersteund. Windows Server 2022 wordt niet ondersteund in Kubernetes versie 1.36 en hoger. Vanaf 1 april 2028 verwijdert AKS alle bestaande knooppuntinstallatiekopieën voor Windows Server 2022, wat betekent dat schaalbewerkingen mislukken.
Zie AKS-releaseopmerkingen voor meer informatie. Als u op de hoogte wilt blijven van de nieuwste versies van het Windows Server-besturingssysteem en meer wilt weten over onze roadmap voor wat er is gepland voor ondersteuning op AKS, raadpleegt u onze openbare AKS-roadmap.
Voeg een Windows-knooppuntgroep toe met behulp van de
az aks nodepool addopdracht met een opgegevenOsTypeenOsSku. 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.az aks nodepool add \ --resource-group $MY_RESOURCE_GROUP_NAME \ --cluster-name $MY_AKS_CLUSTER \ --os-type Windows \ --os-sku Windows2022 \ --name npwin \ --node-count 1Met deze 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 uitvoeren
az aks create.
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 en uitvoeren kubectl , gebruikt u de az aks install-cli opdracht.
Configureer
kubectlom verbinding te maken met uw Kubernetes-cluster met behulp van hetaz aks get-credentialscommando. Bij deze opdracht worden inloggegevens gedownload en wordt de Kubernetes CLI geconfigureerd om deze te gebruiken.az aks get-credentials --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_AKS_CLUSTERControleer 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.27.7 10.224.0.4 <none> Ubuntu 22.04.3 LTS 5.15.0-1052-azure containerd://1.7.5-1 aks-nodepool1-20786768-vmss000001 Ready agent 22h v1.27.7 10.224.0.33 <none> Ubuntu 22.04.3 LTS 5.15.0-1052-azure containerd://1.7.5-1 aksnpwin000000 Ready agent 20h v1.27.7 10.224.0.62 <none> Windows Server 2022 Datacenter 10.0.20348.2159 containerd://1.6.21+azureOpmerking
De containerruntime voor elke knooppuntgroep wordt weergegeven onder CONTAINER-RUNTIME. De waarden van de containerruntime beginnen met
containerd://, wat betekent dat ze allemaalcontainerdgebruiken voor de containerruntime.
De toepassing implementeren
Een Kubernetes-manifestbestand definieert een gewenste status voor het cluster, 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 wordt geleverd als onderdeel 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 2019 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 voor inrichting.
Controleer de status van de geïmplementeerde pods met behulp van de
kubectl get podsopdracht. Zorg ervoor dat alle pods gereed zijnRunningvoordat u doorgaat.kubectl get podsBewaak de voortgang met behulp van de
kubectl get serviceopdracht met het--watchargument.while true; do export EXTERNAL_IP=$(kubectl get service sample -o jsonpath="{.status.loadBalancer.ingress[0].ip}" 2>/dev/null) if [[ -n "$EXTERNAL_IP" && "$EXTERNAL_IP" != "<pending>" ]]; then kubectl get service sample break fi echo "Still waiting for external IP assignment..." sleep 5 doneIn 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 xx.xx.xx.xx pending xx:xxxx/TCP 2mZodra het EXTERNAL-IP-adres is gewijzigd van in behandeling in een echt openbaar IP-adres, gebruikt u
CTRL-Com het controleproces vankubectlte stoppen.In de volgende voorbeelduitvoer ziet u een geldig openbaar IP-adres dat aan de service is toegewezen:
{ "NAME": "sample", "TYPE": "LoadBalancer", "CLUSTER-IP": "10.0.37.27", "EXTERNAL-IP": "52.179.23.131", "PORT(S)": "80:30572/TCP", "AGE": "2m" }Bekijk de voorbeeld-app in actie door na enkele minuten een webbrowser te openen naar het externe IP-adres van uw service.
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.
Azure Kubernetes Service