Een Windows Server-container implementeren in een AKS-cluster (Azure Kubernetes Service) met behulp van Azure Portal
Azure Kubernetes Service (AKS) is een beheerde Kubernetes-service waarmee u snel clusters kunt implementeren en beheren. In dit artikel implementeert u een AKS-cluster waarop Windows Server-containers worden uitgevoerd met behulp van Azure Portal. 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-abonnement hebt, kunt u een gratis Azure-account maken voordat u begint.
- Als u niet bekend bent met De Azure Cloud Shell, raadpleegt u Overzicht van Azure Cloud Shell.
- 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.
Een AKS-cluster maken
Meld u aan bij het Azure-portaal.
Selecteer Een resource maken op de startpagina van Azure Portal.
Selecteer Containers>Azure Kubernetes Service (AKS) in de sectie Categorieën.
Configureer op het tabblad Basisbeginselen de volgende instellingen:
- Onder Projectdetails:
- Abonnement: Selecteer het Azure-abonnement dat u wilt gebruiken voor dit AKS-cluster.
- Resourcegroep: Selecteer Nieuwe maken, voer een resourcegroepnaam in, zoals myResourceGroup, en selecteer vervolgens OK. Hoewel u een bestaande resourcegroep kunt selecteren voor test- of evaluatiedoeleinden, raden we u aan om een resourcegroep te maken om deze resources tijdelijk te hosten en te voorkomen dat dit van invloed is op uw productie- of ontwikkelworkloads.
- Onder Clusterdetails:
Vooraf ingestelde clusterconfiguratie: Selecteer Dev/Test. Zie Voorinstellingen voor clusterconfiguraties in Azure Portal voor meer informatie over vooraf ingestelde configuraties.
Kubernetes-clusternaam: Voer een clusternaam in, zoals myAKSCluster.
Regio: Selecteer een regio, zoals VS - oost 2.
Beschikbaarheidszones: Selecteer Geen.
AKS-prijscategorie: Selecteer Gratis.
Laat de standaardwaarden voor de overige instellingen staan en selecteer Volgende.
- Onder Projectdetails:
Configureer op het tabblad Knooppuntgroepen de volgende instellingen:
Selecteer Knooppuntgroep toevoegen en voer de naam van een knooppuntgroep in, zoals npwin. Voor een Windows-knooppuntgroep moet de naam zes tekens of minder tekens bevatten.
Modus: Selecteer Gebruiker.
Besturingssysteem-SKU: Selecteer Windows 2022.
Beschikbaarheidszones: Selecteer Geen.
Laat het selectievakje Azure Spot-exemplaren inschakelen uitgeschakeld.
Knooppuntgrootte: selecteer Een grootte kiezen. Selecteer op de pagina Een VM-grootte selecteren D2s_v3 en selecteer vervolgens Selecteren.
Laat de standaardwaarden voor de overige instellingen staan en selecteer Toevoegen.
Selecteer Beoordelen en maken om validatie uit te voeren in de clusterconfiguratie. Nadat de validatie is voltooid, selecteert u Maken.
Het duurt enkele minuten om het AKS-cluster te maken. Wanneer uw implementatie is voltooid, gaat u naar uw resource door Naar de resource te gaan of door naar de AKS-clusterresourcegroep te bladeren en de AKS-resource te selecteren.
Verbinding maken met het cluster
U gebruikt kubectl, de Kubernetes-opdrachtregelclient, om uw Kubernetes-clusters te beheren. kubectl
is al geïnstalleerd als u Azure Cloud Shell gebruikt. Als u niet bekend bent met Cloud Shell, raadpleegt u Overzicht van Azure Cloud Shell.
Open Cloud Shell door de
>_
knop boven aan de azure-portalpagina te selecteren.Configureer
kubectl
deze om verbinding te maken met uw Kubernetes-cluster met behulp van deaz aks get-credentials
opdracht. Met de volgende opdracht worden referenties gedownload en wordt de Kubernetes CLI geconfigureerd om deze te gebruiken.az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Controleer de verbinding met uw cluster met behulp van de
kubectl get nodes
opdracht, die een lijst met de clusterknooppunten retourneert.kubectl get nodes
In 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 aks-agentpool-11741175-vmss000000 Ready agent 8m17s v1.29.9 aks-agentpool-11741175-vmss000001 Ready agent 8m17s v1.29.9 aksnpwin000000 Ready agent 8m17s v1.29.9 aks-userpool-11741175-vmss000000 Ready agent 8m17s v1.29.9 aks-userpool-11741175-vmss000001 Ready agent 8m17s v1.29.9
De toepassing implementeren
Een Kubernetes-manifestbestand definieert een gewenste status voor het cluster, zoals welke containerinstallatiekopieën moeten worden uitgevoerd. In deze quickstart gebruikt u een manifestbestand om alle objecten te maken die nodig zijn om de ASP.NET voorbeeldtoepassing uit te voeren in een Windows Server-container. Dit manifestbestand 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. Het Kubernetes-manifestbestand moet 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.yaml
en plak 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: sample
Zie 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 apply
opdracht en geef de naam van uw YAML-manifest op.kubectl apply -f sample.yaml
In de volgende voorbeelduitvoer ziet u de implementatie en service die is 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 pods
opdracht. Zorg ervoor dat alle pods wordenRunning
gebruikt voordat u doorgaat.kubectl get pods
Bewaak de voortgang met behulp van de
kubectl get service
opdracht met het--watch
argument.kubectl get service sample --watch
In 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 6s
Zodra het EXTERNAL-IP-adres is gewijzigd van in behandeling in een echt openbaar IP-adres, gebruikt u
CTRL-C
om het controleproces vankubectl
te stoppen.Bekijk de voorbeeld-app in actie door een webbrowser te openen naar het externe IP-adres van uw service.
Resources verwijderen
Als u niet van plan bent om door te gaan met de AKS-zelfstudie, moet u uw cluster verwijderen om te voorkomen dat Azure-kosten in rekening worden gebracht.
Navigeer in Azure Portal naar uw resourcegroep.
Selecteer Resourcegroep verwijderen.
Voer de naam van de resourcegroep in om het verwijderen te bevestigen en selecteer Verwijderen.
Selecteer Verwijderen in het dialoogvenster Bevestiging verwijderen.
Notitie
Het AKS-cluster is gemaakt met door het systeem toegewezen beheerde identiteit (standaardidentiteitsoptie die in deze quickstart wordt gebruikt), de identiteit wordt beheerd door het platform en vereist geen verwijdering.
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