Freigeben über


Erstellen eines Windows Server-Containers auf einem Azure Kubernetes Service-Cluster (AKS) mit dem Azure-Portal

Azure Kubernetes Service (AKS) ist ein verwalteter Kubernetes-Dienst, mit dem Sie schnell Cluster bereitstellen und verwalten können. In diesem Artikel stellen Sie mithilfe des Azure-Portals einen AKS-Cluster bereit, der Windows Server-Container ausführt. Sie stellen auch eine ASP.NET-Beispielanwendung in einem Windows Server-Container für den Cluster bereit.

Hinweis

Um schnell mit der Bereitstellung eines AKS-Clusters zu beginnen, enthält dieser Artikel Schritte zum Bereitstellen eines Clusters mit Standardeinstellungen nur zu Evaluierungszwecken. Bevor Sie einen produktionsbereiten Cluster bereitstellen, empfehlen wir Ihnen, sich mit unserer Baselinereferenzarchitektur vertraut zu machen, um zu prüfen, inwiefern sie Ihren Geschäftsanforderungen entspricht.

Voraussetzungen

Für diese Schnellstartanleitung werden Grundkenntnisse in Bezug auf die Kubernetes-Konzepte vorausgesetzt. Weitere Informationen finden Sie unter Grundlegende Kubernetes-Konzepte für Azure Kubernetes Service (AKS).

Erstellen eines AKS-Clusters

  1. Melden Sie sich beim Azure-Portal an.

  2. Wählen Sie auf der Startseite des Azure-Portals Ressource erstellen aus.

  3. Wählen Sie im Abschnitt Kategorien die Option Container>Azure Kubernetes Service (AKS) aus.

  4. Konfigurieren Sie auf der Registerkarte Grundlegende Einstellungen die folgenden Einstellungen:

    • Gehen Sie unter Projektdetails wie folgt vor:
      • Abonnement: Wählen Sie das Azure-Abonnement aus, das Sie für diesen AKS-Cluster verwenden möchten.
      • Ressourcengruppe: Wählen Sie Neu erstellen aus, geben Sie einen Ressourcengruppennamen ein (z. B. myResourceGroup), und wählen Sie dann OK aus. Sie können zwar eine vorhandene Ressourcengruppe zu Test- oder Evaluierungszwecken auswählen, es wird jedoch empfohlen, eine Ressourcengruppe zu erstellen, um diese Ressourcen vorübergehend zu hosten und Auswirkungen auf Ihre Produktions- oder Entwicklungsworkloads zu vermeiden.
    • Unter Clusterdetails:
      • Voreingestellte Clusterkonfiguration: Wählen Sie Dev/Test aus. Weitere Informationen zu Voreinstellungskonfigurationen finden Sie unter Voreingestellte Clusterkonfigurationen im Azure-Portal.

        Hinweis

        Sie können die voreingestellte Konfiguration beim Erstellen des Clusters ändern, indem Sie Compare presets (Weiterführende Informationen) lesen und eine andere Option auswählen. Screenshot: Erstellen eines AKS-Clusters – Voreinstellungsoptionen im Portal.

      • Kubernetes-Clustername: Geben Sie einen Clusternamen ein, z. B. myAKSCluster.

      • Region: Wählen Sie eine Region aus, z. B. USA, Osten 2.

      • Verfügbarkeitszonen: Wählen Sie die Option Keine aus.

      • AKS-Tarif: Wählen Sie Free aus.

      • Übernehmen Sie für die übrigen Einstellungen die Standardwerte, und wählen Sie Weiter aus.

        Screenshot, der zeigt, wie Sie einen AKS-Cluster im Azure-Portal konfigurieren.

  5. Konfigurieren Sie auf der Registerkarte Knotenpools die folgenden Einstellungen:

    • Wählen Sie Knotenpool hinzufügen aus, und geben Sie einen Knotenpoolnamen ein, z. B. npwin. Für einen Windows-Knotenpool darf der Name maximal sechs Zeichen lang sein.

    • Modus: Wählen Sie die Option Benutzer aus.

    • Betriebssystem-SKU: Wählen Sie Windows 2022 aus.

    • Verfügbarkeitszonen: Wählen Sie die Option Keine aus.

    • Lassen Sie das Kontrollkästchen Aktivieren von Azure Spot-Instanzen deaktiviert.

    • Knotengröße: Wählen Sie Größe auswählen aus. Wählen Sie auf der Seite VM-Größe auswählen die Option D2s_v3 und dann Auswählen aus.

    • Übernehmen Sie für die übrigen Einstellungen die Standardwerte, und wählen Sie Hinzufügen aus.

      Screenshot des Erstellens eines Knotenpools mit Windows Server 2022.

  6. Wählen Sie Überprüfen und Erstellen aus, um die Überprüfung für die Clusterkonfiguration auszuführen. Wenn die Überprüfung abgeschlossen ist, wählen Sie Erstellen aus.

    Die Erstellung des AKS-Clusters dauert einige Minuten. Wenn die Bereitstellung abgeschlossen ist, navigieren Sie zu Ihrer Ressource, indem Sie Zur Ressource wechseln auswählen oder zur Ressourcengruppe des AKS-Clusters navigieren und die AKS-Ressource direkt auswählen.

Herstellen einer Verbindung mit dem Cluster

Sie verwenden kubectl, den Kubernetes-Befehlszeilenclient, um Ihre Kubernetes-Cluster zu verwalten. kubectl ist bei Verwendung von Azure Cloud Shell bereits installiert. Wenn Sie mit der Cloud Shell nicht vertraut sind, arbeiten Sie die Übersicht zu Azure Cloud Shell durch.

  1. Öffnen Sie Cloud Shell, indem Sie die Schaltfläche >_ oben auf der Azure-Portalseite auswählen.

  2. Mit dem Befehl az aks get-credentials können Sie kubectl für die Verbindungsherstellung mit Ihrem Kubernetes-Cluster konfigurieren. Der folgende Befehl lädt Anmeldeinformationen herunter und konfiguriert die Kubernetes-Befehlszeilenschnittstelle für deren Verwendung:

    az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
    
  3. Überprüfen Sie die Verbindung zu Ihrem Cluster mit dem Befehl kubectl get nodes, der eine Liste der Clusterknoten zurückgibt.

    kubectl get nodes
    

    Die folgende Beispielausgabe zeigt alle Knoten im Cluster. Vergewissern Sie sich, dass alle Knoten den Status Bereit haben:

    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
    

Bereitstellen der Anwendung

Eine Kubernetes-Manifestdatei definiert einen gewünschten Zustand (Desired State) für den Cluster – also beispielsweise, welche Containerimages ausgeführt werden sollen. In diesem Schnellstart verwenden Sie eine Manifestdatei, um alle Objekte zu erstellen, die für die Ausführung der ASP.NET-Beispielanwendung in einem Windows Server-Container benötigt werden. Diese Manifestdatei beinhaltet eine Kubernetes-Bereitstellung für die ASP.NET-Beispielanwendung und einen externen Kubernetes-Dienst für den Zugriff auf die Anwendung über das Internet.

Die ASP.NET-Beispielanwendung wird als Teil des .NET Framework-Beispiels bereitgestellt und in einem Windows Server-Container ausgeführt. In der Kubernetes-Manifestdatei muss eine Knotenauswahl definiert werden. So wird Ihrem AKS-Cluster mitgeteilt, dass der Pod der ASP.NET-Beispielanwendung auf einem Knoten ausgeführt werden soll, für den die Ausführung von Windows Server-Containern möglich ist.

  1. Erstellen Sie eine Datei namens sample.yaml, und fügen Sie die folgende YAML-Definition ein.

    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
    

    Eine Aufschlüsselung der YAML-Manifestdateien finden Sie unter Bereitstellungen und YAML-Manifeste.

    Wenn Sie die YAML-Datei lokal erstellen und speichern, können Sie die Manifestdatei in Ihr Standardverzeichnis in CloudShell hochladen, indem Sie die Schaltfläche Dateien hochladen/herunterladen auswählen und die Datei aus Ihrem lokalen Dateisystem auswählen.

  2. Stellen Sie die Anwendung über den Befehl „kubectl apply“ bereit, und geben Sie den Namen Ihres YAML-Manifests an.

    kubectl apply -f sample.yaml
    

    In der folgende Beispielausgabe sind die erfolgreich erstellten Bereitstellungen und Dienste aufgeführt:

    deployment.apps/sample created
    service/sample created
    

Testen der Anwendung

Wenn die Anwendung ausgeführt wird, macht ein Kubernetes-Dienst das Anwendungs-Front-End im Internet verfügbar. Dieser Vorgang kann einige Minuten dauern. Gelegentlich kann die Bereitstellung des Diensts länger als ein paar Minuten dauern. Geben Sie der Bereitstellung bis zu 10 Minuten Zeit.

  1. Überprüfen Sie den Status der bereitgestellten Pods mithilfe des Befehls kubectl get pods. Stellen Sie sicher, dass alle Pods den Status Running haben, bevor Sie fortfahren.

    kubectl get pods
    
  2. Verwenden Sie zum Überwachen des Fortschritts den Befehl kubectl get service mit dem Argument --watch:

    kubectl get service sample --watch
    

    Zunächst zeigt die Ausgabe die EXTERNAL-IP für den Beispieldienst als ausstehend an:

    NAME               TYPE           CLUSTER-IP   EXTERNAL-IP   PORT(S)        AGE
    sample             LoadBalancer   10.0.37.27   <pending>     80:30572/TCP   6s
    
  3. Sobald die externe IP-Adresse (EXTERNAL-IP) von pending (ausstehend) in eine tatsächliche öffentliche IP-Adresse geändert wurde, verwenden Sie CTRL-C, um die kubectl-Überwachung zu beenden.

  4. Sehen Sie sich die Beispielanwendung in Aktion an, indem Sie ein Fenster im Webbrowser mit der externen IP-Adresse Ihres Dienstes öffnen.

    Screenshot der Navigation zur ASP.NET-Beispielanwendung.

Löschen von Ressourcen

Wenn Sie nicht vorhaben, das AKS-Tutorial zu absolvieren, sollten Sie Ihren Cluster löschen, damit keine Azure-Gebühren anfallen.

  1. Navigieren Sie im Azure-Portal zu der Ressourcengruppe.

  2. Wählen Sie die Option Ressourcengruppe löschen.

  3. Geben Sie zur Bestätigung des Löschvorgangs den Namen Ihrer Ressourcengruppe ein, und klicken Sie auf Löschen.

  4. Wählen Sie im Dialogfeld Löschbestätigung die Option Löschen aus.

    Hinweis

    Der AKS-Cluster wurde mit einer systemseitig zugewiesenen verwalteten Identität erstellt (in dieser Schnellstartanleitung verwendete Standardidentitätsoption). Die Identität wird von der Plattform verwaltet und muss nicht entfernt werden.

Nächste Schritte

In dieser Schnellstartanleitung haben Sie einen Kubernetes-Cluster und eine ASP.NET-Beispielanwendung in einem Windows Server-Container bereitgestellt. Diese Beispielanwendung dient nur zu Demozwecken und stellt nicht alle bewährten Methoden für Kubernetes-Anwendungen dar. Anleitungen zum Erstellen vollständiger Lösungen mit AKS für die Produktion finden Sie unter AKS-Lösungsleitfaden.

Weitere Informationen zu AKS sowie ein vollständiges Beispiel vom Code bis zur Bereitstellung finden Sie im Kubernetes-Clustertutorial.