Bereitstellen von Anwendungen
In diesem Artikel wird beschrieben, wie Sie eine Containeranwendung in Ihrem Kubernetes-Cluster bereitstellen.
Voraussetzungen
Richten Sie zunächst Ihren Kubernetes-Einzelcomputer oder einen vollständigen Kubernetes-Cluster ein.
Bereitstellen einer Linux-Beispielanwendung
Schritt 1: Aktualisieren der Manifestdatei
In diesem Artikel wird eine Beispielanwendung verwendet, bei der es sich um eine einfache Abstimmungs-App handelt, die aus einem Front- und Back-End besteht, das auf dem Azure-Vote-Front-Image von Microsoft basiert. Das Containerimage für diese Anwendung wird auf Azure Container Registry (ACR) gehostet. Das Bereitstellungsmanifest finden Sie unter linux-sample.yaml im GitHub-Repositorypaket. Im YAML haben wir ein nodeSelector
Tag als Linux angegeben.
Schritt 2: Bereitstellen der Anwendung
Verwenden Sie zum Bereitstellen Ihrer Anwendung den Befehl kubectl apply. Dieser Befehl analysiert die Manifestdatei und erstellt die definierten Kubernetes-Objekte. Geben Sie die YAML-Manifestdatei an, wie im folgenden Beispiel gezeigt:
kubectl apply -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/others/linux-sample.yaml
Schritt 3: Überprüfen der Pods
Warten Sie einige Minuten, bis sich die Pods im Ausführungszustand befinden:
kubectl get pods -o wide
Schritt 4: Überprüfen der Dienste
Verwenden Sie zum Überwachen des Fortschritts den Befehl kubectl get services mit dem --watch
Parameter:
kubectl get services
Anfänglich wird für EXTERNAL-IP
den azure-vote-front
Dienst als pending
angezeigt. Wenn sich die EXTERNAL-IP
Adresse von pending
in eine tatsächliche öffentliche IP-Adresse ändert, können Sie die dem Dienst zugewiesene IP-Adresse verwenden.
Wichtig
Wenn Sie Ihren Kubernetes-Cluster auf Einzelcomputerclustern ohne Angabe von -ServiceIPRangeSize
bereitgestellt haben, haben Sie keine IP-Adressen für Ihre Workloaddienste zugewiesen, und Sie verfügen nicht über eine externe IP-Adresse. Suchen Sie in diesem Fall die IP-Adresse Ihrer Linux-VM (Get-AksEdgeNodeAddr
):
Get-AksEdgeNodeAddr -NodeType Linux
Sie können den externen Port jetzt an die IP-Adresse des virtuellen Computers anfügen (z. B. 192.168.1.12:30432).
Schritt 5: Testen Der Anwendung
Öffnen Sie die externe IP-Adresse Ihres Diensts in einem Webbrowser, um die Anwendung in Aktion zu sehen:
Wenn die Anwendung nicht geladen wird, liegt möglicherweise ein Autorisierungsproblem mit Ihrer Imageregistrierung vor. Verwenden Sie den Befehl kubectl get pods
, um den Status Ihrer Container anzuzeigen. Wenn die Containerimages nicht abgerufen werden können, lesen Sie Authentifizieren mit Azure Container Registry aus Azure Kubernetes Service.
Schritt 6: Entfernen der Anwendung
Um sauber zu können, löschen Sie alle Ressourcen mit dem folgenden Befehl:
kubectl delete -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/others/linux-sample.yaml
Bereitstellen einer Windows-Beispielanwendung in Ihrem Cluster
In diesem Beispiel wird ein Beispiel ASP.NET Anwendung basierend auf dem Beispielimage von Microsoft ausgeführt. Weitere Informationen finden Sie unter win-sample.yaml. Die YAML gibt das nodeSelector
Tag als Windows an.
Schritt 1: Bereitstellen der Anwendung durch Angabe des Namens Ihres YAML-Manifests
Stellen Sie sicher, dass Sie sich in einem PowerShell-Fenster im Verzeichnis des YAML befinden, und führen Sie dann den folgenden Befehl aus:
kubectl apply -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/others/win-sample.yaml
Schritt 2: Überprüfen, ob der Beispielpod ausgeführt wird
Je nach Internetverbindung kann es eine Weile dauern, bis der Pod die ausgeführte status erreicht. Das ASP.NET Bild ist groß:
kubectl get pods -o wide
Schritt 3: Überprüfen, ob der Beispieldienst ausgeführt wird
kubectl get services
Da dieses Beispiel als Dienst vom Typ NodePort bereitgestellt wird, können Sie die IP-Adresse des Kubernetes-Knotens abrufen, auf dem die Anwendung ausgeführt wird, und dann den Port des NodePort anfügen. Rufen Sie die IP-Adresse des Kubernetes-Knotens mit dem folgenden Get-AksEdgeNodeAddr
Befehl ab:
Get-AksEdgeNodeAddr -NodeType Windows
Schritt 4: Überprüfen des ausgeführten Windows-Beispiels
Öffnen Sie einen Webbrowser, und suchen Sie den NodePort , um auf Ihren Dienst zuzugreifen:
Schritt 5: sauber nach oben
Um sauber zu können, löschen Sie alle Ressourcen mit dem folgenden Befehl:
kubectl delete -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/others/win-sample.yaml
Bereitstellen eigener Anwendungen
In den vorherigen Schritten wurde gezeigt, wie Sie unsere Beispielanwendungen bereitstellen können. Gehen Sie wie folgt vor, um Ihre eigene Anwendung bereitzustellen:
Packen Sie Ihre Anwendung in ein Containerimage, und laden Sie das Image dann in Azure Container Registry oder in eine Containerregistrierung Ihrer Wahl hoch. Führen Sie diese Schritte aus, um ein Containerimage Ihrer Anwendung zu erstellen.
AKS Edge Essentials ermöglicht Cluster mit gemischten Betriebssystemen. Stellen Sie sicher, dass Ihre Pods auf Knoten mit dem entsprechenden Betriebssystem geplant werden. Fügen Sie Ihren Bereitstellungsdateien hinzu
nodeSelector
. Diese Option weist Kubernetes an, Ihre Pods auf Knoten eines bestimmten Betriebssystems (Os) auszuführen. Wenn Es sich bei Ihrem Cluster um ein einzelnes Betriebssystem handelt, können Sie diesen Schritt überspringen. Als bewährte Methode bezeichnen Sie jedoch jede Bereitstellungsdatei mit Knotenselektoren:nodeSelector: "kubernetes.io/os": linux
nodeSelector: "kubernetes.io/os": windows