Delen via


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.

Een AKS-cluster maken

  1. Meld u aan bij het Azure-portaal.

  2. Selecteer Een resource maken op de startpagina van Azure Portal.

  3. Selecteer Containers>Azure Kubernetes Service (AKS) in de sectie Categorieën.

  4. 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.

        Notitie

        U kunt de vooraf ingestelde configuratie wijzigen bij het maken van uw cluster door voorinstellingen vergelijken te selecteren en een andere optie te kiezen. Schermopname van vooraf ingestelde opties voor AKS-cluster maken - portal.

      • 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.

        Schermopname die laat zien hoe u een AKS-cluster configureert in Azure Portal.

  5. 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.

      Schermopname van het maken van een knooppuntgroep met Windows Server 2022.

  6. 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.

  1. Open Cloud Shell door de >_ knop boven aan de azure-portalpagina te selecteren.

  2. Configureer kubectl deze om verbinding te maken met uw Kubernetes-cluster met behulp van de az 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
    
  3. 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.

  1. 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.

  2. 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.

  1. Controleer de status van de geïmplementeerde pods met behulp van de kubectl get pods opdracht. Zorg ervoor dat alle pods worden Running gebruikt voordat u doorgaat.

    kubectl get pods
    
  2. 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
    
  3. Zodra het EXTERNAL-IP-adres is gewijzigd van in behandeling in een echt openbaar IP-adres, gebruikt u CTRL-C om het controleproces van kubectl te stoppen.

  4. Bekijk de voorbeeld-app in actie door een webbrowser te openen naar het externe IP-adres van uw service.

    Schermopname van bladeren naar ASP.NET voorbeeldtoepassing.

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.

  1. Navigeer in Azure Portal naar uw resourcegroep.

  2. Selecteer Resourcegroep verwijderen.

  3. Voer de naam van de resourcegroep in om het verwijderen te bevestigen en selecteer Verwijderen.

  4. 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.