Bereitstellen einer zustandslosen PHP-Guestbook
-Anwendung mit Redis in einem Kubernetes-Cluster mit Azure Arc-Unterstützung auf einer Azure Stack Edge Pro-GPU
GILT FÜR: Azure Stack Edge Pro – GPUAzure Stack Edge Pro 2Azure Stack Edge Pro RAzure Stack Edge Mini R
In diesem Artikel wird erläutert, wie Sie eine einfache Multi-Tier-Webanwendung unter Verwendung von Kubernetes und Azure Arc erstellen und bereitstellen. Dieses Beispiel umfasst die folgenden Komponenten:
- Einen Redis-Master (Einzelinstanz) zum Speichern von
guestbook
-Einträgen - Mehrere replizierte Redis-Instanzen für Lesevorgänge
- Mehrere Front-End-Webinstanzen
Die Bereitstellung erfolgt unter Verwendung von GitOps in dem Kubernetes-Cluster mit Azure Arc-Unterstützung auf Ihrem Azure Stack Edge Pro-Gerät.
Dieses Verfahren ist für Personen gedacht, die den Artikel Kubernetes-Workloads auf einem Azure Stack Edge Pro-Gerät gelesen haben und mit den in Was ist Kubernetes mit Azure Arc-Unterstützung (Vorschauversion)? beschriebenen Konzepten vertraut sind.
Hinweis
Dieser Artikel enthält Verweise auf den Begriff Slave, einen Begriff, den Microsoft nicht mehr verwendet. Sobald der Begriff aus der Software entfernt wird, wird er auch aus diesem Artikel entfernt.
Voraussetzungen
Stellen Sie vor der Bereitstellung der zustandslosen Anwendung sicher, dass die folgenden Voraussetzungen auf Ihrem Gerät und auf dem Client erfüllt sind, den Sie für den Zugriff auf das Gerät verwenden:
Für das Gerät
Sie verfügen über Anmeldeinformationen für ein Azure Stack Edge Pro-Gerät mit einem Knoten.
- Das Gerät ist aktiviert. Weitere Informationen finden Sie unter Aktivieren des Geräts.
- Das Gerät verfügt über die über das Azure-Portal konfigurierte Computerolle und umfasst einen Kubernetes-Cluster. Siehe Konfigurieren der Computeumgebung.
Sie haben Azure Arc im vorhandenen Kubernetes-Cluster auf Ihrem Gerät aktiviert und verfügen im Azure-Portal über eine entsprechende Azure Arc-Ressource. Die ausführlichen Schritte sind unter Aktivieren von Azure Arc auf einem Azure Stack Edge Pro-Gerät beschrieben.
Für den Client, der auf das Gerät zugreift
Sie verfügen über ein Windows-Clientsystem, das für den Zugriff auf das Azure Stack Edge Pro-Gerät verwendet wird.
Auf dem Client wird Windows PowerShell 5.0 oder höher ausgeführt. Informationen zum Herunterladen der neuesten Version von Windows PowerShell finden Sie unter Installieren von Windows PowerShell.
Sie können auch einen anderen Client mit einem unterstützten Betriebssystem verwenden. In diesem Artikel wird die Vorgehensweise bei Verwendung eines Windows-Clients beschrieben.
Sie haben die unter Zugreifen auf den Kubernetes-Cluster auf dem Azure Stack Edge Pro-Gerät beschriebenen Schritte ausgeführt. Sie haben:
kubectl
auf dem Client installiert.Stellen Sie sicher, dass die
kubectl
-Clientversion um nicht mehr als eine Version von der Kubernetes-Masterversion abweicht, die auf dem Azure Stack Edge Pro-Gerät ausgeführt wird.- Verwenden Sie
kubectl version
, um die kubectl-Version zu überprüfen, die auf dem Client ausgeführt wird. Notieren Sie sich den gesamten Versionsnamen. - Navigieren Sie auf der lokalen Benutzeroberfläche des Azure Stack Edge Pro-Geräts zu Übersicht, und notieren Sie sich die Kubernetes-Softwarenummer.
- Überprüfen Sie anhand der Zuordnungen in der Liste der unterstützten Kubernetes-Versionen, ob diese beiden Versionen kompatibel sind.
- Verwenden Sie
Sie verfügen über eine GitOps-Konfiguration, die Sie zum Ausführen einer Azure Arc-Bereitstellung verwenden können. In diesem Beispiel werden die folgenden
yaml
-Dateien für die Bereitstellung auf Ihrem Azure Stack Edge Pro-Gerät verwendet.frontend-deployment.yaml
frontend-service.yaml
redis-master-deployment.yaml
redis-master-service.yaml
redis-slave-deployment.yaml
redis-slave-service.yaml
Bereitstellen der Konfiguration
Führen Sie diese Schritte aus, um die Azure Arc-Ressource für die Bereitstellung einer GitOps-Konfiguration über das Azure-Portal zu konfigurieren:
Navigieren Sie im Azure-Portal zur Azure Arc-Ressource, die Sie beim Aktivieren von Azure Arc im Kubernetes-Cluster auf Ihrem Gerät erstellt haben.
Navigieren Sie zu Konfigurationen, und wählen Sie + Konfiguration hinzufügen aus.
Geben Sie die Flux-Erweiterung Version 1 an.
Geben Sie unter GitOps-Konfiguration hinzufügen die entsprechenden Werte für die Felder ein, und wählen Sie dann Hinzufügen aus.
Parameter Beschreibung Konfigurationsname Name der Konfigurationsressource. Name der Operatorinstanz Instanzname des Operators zur Identifizierung einer bestimmten Konfiguration. Dieser Name ist eine Zeichenfolge aus maximal 253 Zeichen, bei denen es sich ausschließlich um Kleinbuchstaben, alphanumerische Zeichen, Bindestriche und Punkte handeln darf. Operatornamespace Legen Sie diesen Namespace auf demotestguestbook fest, sodass er dem in der Bereitstellung yaml
angegebenen Namespace entspricht.
Das Feld definiert den Namespace, in dem der Operator installiert ist. Dieser Name ist eine Zeichenfolge aus maximal 253 Zeichen, bei denen es sich ausschließlich um Kleinbuchstaben, alphanumerische Zeichen, Bindestriche und Punkte handeln darf.Repository-URL
Pfad zum Git-Repository imhttp://github.com/username/repo
- odergit://github.com/username/repo
-Format, in dem sich Ihre GitOps-Konfiguration befindet.Operatorbereich Wählen Sie Namespace aus.
Dieser Parameter definiert den Bereich, in dem der Operator installiert ist. Wählen Sie „Namespace“ aus, um Ihren Operator in dem Namespace zu installieren, der in den YAML-Bereitstellungsdateien angegeben ist.Operatortyp Übernehmen Sie die Standardeinstellung.
Dieser Parameter gibt den Typ des Operators an. Standardmäßig ist „flux“ festgelegt.Operatorparameter Lassen Sie dieses Feld leer.
Dieser Parameter enthält die Parameter zum Übergeben des Flux-Operators.Helm Lassen Sie dieses Kontrollkästchen deaktiviert.
Aktivieren Sie diese Option, wenn Sie Chart-basierte Bereitstellungen vornehmen.Die Bereitstellung der Konfiguration wird gestartet, und für Operatorstatus wird Ausstehend angezeigt.
Die Bereitstellung nimmt einige Minuten in Anspruch. Wenn die Bereitstellung abgeschlossen ist, wird für Operatorstatus Installiert angezeigt.
Überprüfen der Bereitstellung
Bei der Bereitstellung über die GitOps-Konfiguration wird ein demotestguestbook
-Namespace gemäß Angabe in den yaml
-Bereitstellungsdateien im Git-Repository erstellt.
Nachdem Sie die GitOps-Konfiguration angewendet haben, führen Sie die Schritte unter Herstellen einer Verbindung mit der PowerShell-Schnittstelle des Geräts aus.
Führen Sie den folgenden Befehl aus, um die ausgeführten Pods im Namespace
demotestguestbook
der Bereitstellung aufzulisten.kubectl get pods -n <your-namespace>
Hier ist eine Beispielausgabe.
[10.128.44.240]: PS>kubectl get pods -n demotestguestbook NAME READY STATUS RESTARTS AGE aseoperator1-5569658644-cqtb5 1/1 Running 0 91m frontend-6cb7f8bd65-4xb4f 1/1 Running 0 91m frontend-6cb7f8bd65-q9cxj 1/1 Running 0 91m frontend-6cb7f8bd65-xpzs6 1/1 Running 0 91m memcached-86bdf9f56b-5l2fq 1/1 Running 0 91m redis-master-7db7f6579f-2z29w 1/1 Running 0 91m redis-slave-7664787fbc-lgr2n 1/1 Running 0 91m redis-slave-7664787fbc-vlvzn 1/1 Running 0 91m [10.128.44.240]: PS>
In diesem Beispiel wurde der Front-End-Dienst als „type:LoadBalancer“ bereitgestellt. Zum Anzeigen von
guestbook
müssen Sie die IP-Adresse dieses Diensts ermitteln. Führen Sie den folgenden Befehl aus.kubectl get service -n <your-namespace>
[10.128.44.240]: PS>kubectl get service -n demotestguestbook NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE frontend LoadBalancer 10.96.79.38 10.128.44.245 80:31238/TCP 85m memcached ClusterIP 10.102.47.75 <none> 11211/TCP 85m redis-master ClusterIP 10.104.32.99 <none> 6379/TCP 85m redis-slave ClusterIP 10.104.215.146 <none> 6379/TCP 85m [10.128.44.240]: PS>
Der Front-End-Dienst von
type:LoadBalancer
verfügt über eine externe IP-Adresse. Diese IP-Adresse stammt aus dem IP-Adressbereich, den Sie beim Konfigurieren der Computenetzwerkeinstellungen auf dem Gerät für externe Dienste angegeben haben. Verwenden Sie diese IP-Adresse, umguestbook
unter der folgenden URL anzuzeigen:https://<external-IP-address>
.
Löschen der Bereitstellung
Um die Bereitstellung zu löschen, können Sie die Konfiguration im Azure-Portal löschen. Durch Löschen der Konfiguration werden die erstellten Objekte, einschließlich Bereitstellungen und Dienste, gelöscht.
- Gehen Sie im Azure-Portal auf die Azure Arc-Ressource > Konfigurationen.
- Suchen Sie nach der Konfiguration, die Sie löschen möchten. Wählen Sie die Auslassungspunkte (...) aus, um das Kontextmenü zu öffnen, und wählen Sie dann Löschen aus.
Es kann einige Minuten dauern, bis die Konfiguration gelöscht wurde.
Nächste Schritte
Erfahren Sie, wie Sie das Kubernetes-Dashboard zum Überwachen von Bereitstellungen auf Ihrem Azure Stack Edge Pro-Gerät verwenden.