Freigeben über


Bereitstellen einer PHP-zustandslosen Guestbook Anwendung mit Redis im Azure Arc-fähigen Kubernetes-Cluster auf azure Stack Edge Pro GPU

GILT FÜR:Ja für Pro GPU SKUAzure Stack Edge Pro - GPUJa für Pro 2 SKUAzure Stack Edge Pro 2Ja für Pro R SKUAzure Stack Edge Pro RJa für Mini R SKUAzure Stack Edge Mini R

In diesem Artikel erfahren Sie, wie Sie eine mehrstufige Webanwendung mit Kubernetes und Azure Arc erstellen und bereitstellen. Dieses Beispiel besteht aus den folgenden Komponenten:

  • Ein Einzelinstanz-Redis-Master zur Speicherung von guestbook-Einträgen
  • Mehrere replizierte Redis-Instanzen für Lesevorgänge
  • Mehrere Web-Frontend-Instanzen

Die Bereitstellung erfolgt mithilfe von GitOps im Azure Arc-fähigen Kubernetes-Cluster auf Ihrem Azure Stack Edge Pro-Gerät.

Dieses Verfahren richtet sich an Personen, die die Kubernetes-Workloads auf dem Azure Stack Edge Pro-Gerät überprüft haben und mit den Konzepten von Azure Arc-fähigen Kubernetes (Vorschau) vertraut sind.

Voraussetzungen

Bevor Sie die zustandslose Anwendung bereitstellen können, stellen Sie sicher, dass Sie die folgenden Voraussetzungen auf Ihrem Gerät und auf dem Client erfüllt haben, den Sie für den Zugriff auf das Gerät verwenden:

Für Gerät

  1. Sie verfügen über Anmeldeinformationen für ein 1-Knoten-Azure Stack Edge Pro-Gerät.

    1. Das Gerät wird aktiviert. Siehe Aktivieren des Geräts.
    2. Das Gerät hat die Computerolle über das Azure-Portal konfiguriert und verfügt über einen Kubernetes-Cluster. Siehe Konfigurieren der Berechnung.
  2. Sie haben Azure Arc auf dem vorhandenen Kubernetes-Cluster auf Ihrem Gerät aktiviert, und Sie verfügen über eine entsprechende Azure Arc-Ressource im Azure-Portal. Ausführliche Schritte finden Sie unter Aktivieren von Azure Arc auf dem Azure Stack Edge Pro-Gerät.

Für den Clientzugriff auf das Gerät

  1. Sie verfügen über ein Windows-Clientsystem, das für den Zugriff auf das Azure Stack Edge Pro-Gerät verwendet wird.

    • Der Client führt Windows PowerShell 5.0 oder höher aus. Um die neueste Version von Windows PowerShell herunterzuladen, wechseln Sie zu "Installieren von Windows PowerShell".

    • Sie können auch über einen anderen Client mit einem unterstützten Betriebssystem verfügen. In diesem Artikel wird das Verfahren bei Verwendung eines Windows-Clients beschrieben.

  2. Sie haben das im Abschnitt Zugriff auf den Kubernetes-Cluster auf dem Azure Stack Edge Pro-Gerät beschriebene Verfahren abgeschlossen. Sie haben:

    • Installiert kubectl auf dem Client.

    • Stellen Sie sicher, dass die kubectl Clientversion maximal eine Version von der Kubernetes-Masterversion abweicht, die auf Ihrem Azure Stack Edge Pro-Gerät ausgeführt wird.

      • Verwenden Sie kubectl version, um die auf dem Client ausgeführte kubectl-Version zu überprüfen. Notieren Sie sich die Vollversion.
      • Wechseln Sie auf der lokalen Benutzeroberfläche Ihres Azure Stack Edge Pro-Geräts zu "Übersicht ", und notieren Sie sich die Kubernetes-Softwarenummer.
      • Überprüfen Sie diese beiden Versionen auf Kompatibilität anhand der Zuordnung, die in der unterstützten Kubernetes-Version bereitgestellt wird.
  3. Sie verfügen über eine GitOps-Konfiguration, mit der Sie eine Azure Arc-Bereitstellung ausführen können. In diesem Beispiel verwenden Sie die folgenden yaml Dateien, um sie auf Ihrem Azure Stack Edge Pro-Gerät bereitzustellen.

    • frontend-deployment.yaml
    • frontend-service.yaml
    • redis-master-deployment.yaml
    • redis-master-service.yaml
    • redis-replica-deployment.yaml
    • redis-replica-service.yaml

Bereitstellen der Konfiguration

Führen Sie die folgenden Schritte aus, um die Azure Arc-Ressource für die Bereitstellung einer GitOps-Konfiguration über das Azure-Portal zu konfigurieren:

  1. Wechseln Sie in Ihrem Azure-Portal zu der Azure Arc-Ressource, die Sie erstellt haben, wenn Sie Azure Arc auf dem Kubernetes-Cluster auf Ihrem Gerät aktiviert haben.

    Zur Azure Arc-Ressource wechseln

  2. Wechseln Sie zu "Konfigurationen" , und wählen Sie "+Konfiguration hinzufügen" aus.

    Screenshot des Azure Arc-fähigen Kubernetes-Clusters mit ausgewählter Option

  3. Geben Sie die Flux Version 1 Erweiterung an.

  4. Geben Sie in "GitOps-Konfiguration hinzufügen" die entsprechenden Werte für die Felder ein, und wählen Sie dann "Hinzufügen" aus.

    Parameter Description
    Konfigurationsname Name für die Konfigurationsressource.
    Name der Operatorinstanz Instanzname des Operators, um eine bestimmte Konfiguration zu identifizieren. Ein Name ist eine Zeichenfolge von maximal 253 Zeichen und darf nur aus Kleinbuchstaben, alphanumerischen Zeichen sowie Bindestrichen und Punkten bestehen.
    Operatornamespace Legen Sie diesen Wert auf demotestguestbook fest, um dem in der Bereitstellung yamlangegebenen Namespace zu entsprechen.
    Das Feld definiert den Namespace, in dem der Operator installiert ist. Ein Name ist eine Zeichenfolge von maximal 253 Zeichen und darf nur aus Kleinbuchstaben, alphanumerischen Zeichen sowie Bindestrichen und Punkten bestehen.
    Repository-URL
    Pfad zum Git-Repository im http://github.com/username/repo oder git://github.com/username/repo Format, in dem sich Ihre GitOps-Konfiguration befindet.
    Geltungsbereich des Operators Wählen Sie "Namespace" aus.
    Dieser Parameter definiert den Bereich, in dem der Operator installiert ist. Wählen Sie Namespace aus, um Ihren Operator im namespace zu installieren, der in den Bereitstellungs-Yaml-Dateien angegeben ist.
    Operatortyp Behalten Sie die Standardeinstellung bei.
    Dieser Parameter gibt den Typ des Operators an - standardmäßig als Fluss festgelegt.
    Operatorparameter Lassen Sie diese Einstellung leer.
    Dieser Parameter enthält Parameter, die an den Flussoperator übergeben werden sollen.
    Helm Lassen Sie dieses Kontrollkästchen deaktiviert.
    Aktivieren Sie diese Option, wenn Sie diagrammbasierte Bereitstellungen ausführen.

    Konfiguration hinzufügen

  5. Die Konfigurationsbereitstellung wird gestartet, und der Operatorstatus wird als ausstehend angezeigt.

    Der Screenshot zeigt den Azure Arc-fähigen Kubernetes-Cluster in einem wartenden Zustand, während er aktualisiert wird.

  6. Die Bereitstellung dauert ein paar Minuten. Nach Abschluss der Bereitstellung wird der Operatorstatus als installiert angezeigt.

    Screenshot des Azure Arc-fähigen Kubernetes-Clusters in einem installierten Zustand.

Überprüfen der Bereitstellung

Die Bereitstellung über die GitOps-Konfiguration erstellt einen demotestguestbook Namespace, wie in den Bereitstellungsdateien yaml angegeben, die sich im Git-Repository befinden.

  1. Nachdem Sie die GitOps-Konfiguration angewendet haben, stellen Sie eine Verbindung mit der PowerShell-Schnittstelle des Geräts her.

  2. 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-replica-7664787fbc-lgr2n    1/1     Running   0          91m
    redis-replica-7664787fbc-vlvzn    1/1     Running   0          91m
    [10.128.44.240]: PS>
    
  3. In diesem Beispiel wurde der Front-End-Dienst als Type:LoadBalancer bereitgestellt. Sie müssen die IP-Adresse dieses Diensts finden, um die guestbook. 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-replica    ClusterIP      10.104.215.146   <none>          6379/TCP       85m
    [10.128.44.240]: PS>
    
  4. Der Front-End-Dienst von type:LoadBalancer hat eine externe IP-Adresse. Diese IP stammt aus dem IP-Adressbereich, den Sie für externe Dienste angegeben haben, wenn Sie die Compute-Netzwerkeinstellungen auf dem Gerät konfigurieren. Verwenden Sie diese IP-Adresse, um die guestbook URL anzuzeigen: https://<external-IP-address>.

    Gästebuch anzeigen

Löschen der Bereitstellung

Um die Bereitstellung zu löschen, können Sie die Konfiguration aus dem Azure-Portal löschen. Beim Löschen der Konfiguration werden die objekte gelöscht, die erstellt wurden, einschließlich Bereitstellungen und Dienste.

  1. Gehen Sie im Azure-Portal auf die Azure Arc-Ressource > Konfigurationen.
  2. Suchen Sie die Konfiguration, die Sie löschen möchten. Wählen Sie die ... um das Kontextmenü aufzurufen, und wählen Sie "Löschen" aus. Konfiguration löschen

Es kann mehrere Minuten dauern, bis die Konfiguration gelöscht wird.

Nächste Schritte

Erfahren Sie, wie Sie mithilfe des Kubernetes-Dashboards Bereitstellungen auf Ihrem Azure Stack Edge Pro-Gerät überwachen.