Een staatloze Guestbook PHP-toepassing met Redis implementeren in Azure Arc Kubernetes-cluster op Azure Stack Edge Pro GPU

van toepassing op:  Ja voor Pro GPU SKU Azure stack Edge Pro-GPU  Ja voor Pro r SKU Azure stack Edge Pro r  Ja voor mini-r SKU Azure stack Edge-mini                           -r   

In dit artikel wordt beschreven hoe u een eenvoudige webtoepassing met meerdere lagen maakt en implementeert met behulp van Kubernetes en Azure Arc. Dit voorbeeld bestaat uit de volgende onderdelen:

  • Een Redis-master met één exemplaar voor het opslaan guestbook van vermeldingen
  • Meerdere gerepliceerde Redis-exemplaren voor lees- en gebruiksrepliceerde exemplaren
  • Meerdere webfrontend-exemplaren

De implementatie wordt uitgevoerd met behulp van GitOps in Azure Arc Kubernetes-cluster met ingeschakelde functie op Azure Stack Edge Pro apparaat.

Deze procedure is bedoeld voor mensen die de Kubernetes-workloads op het Azure Stack Edge Pro-apparaat hebben gecontroleerd en vertrouwd zijn met de concepten van Wat is kubernetes met Azure Arc-ingeschakeld (preview).

Notitie

Dit artikel bevat verwijzingen naar de term slave, een term die Microsoft niet meer gebruikt. Zodra de term uit de software wordt verwijderd, verwijderen we deze uit dit artikel.

Vereisten

Voordat u de staatloze toepassing kunt implementeren, moet u ervoor zorgen dat u aan de volgende vereisten voor uw apparaat en de client die u gebruikt voor toegang tot het apparaat hebt voltooid:

Voor het apparaat

  1. U hebt aanmeldingsreferenties voor een apparaat met één Azure Stack Edge Pro knooppunt.

    1. Het apparaat wordt geactiveerd. Zie Het apparaat activeren.
    2. Op het apparaat is de rekenrol geconfigureerd via Azure Portal en een Kubernetes-cluster. Zie Compute configureren.
  2. U hebt een Azure Arc ingeschakeld op het bestaande Kubernetes-cluster op uw apparaat en u hebt een bijbehorende Azure Arc-resource in de Azure Portal. Zie Enable Azure Arc on Azure Stack Edge Pro device voor gedetailleerde stappen.

Voor clienttoegang tot het apparaat

  1. U hebt een Windows clientsysteem dat wordt gebruikt voor toegang tot Azure Stack Edge Pro apparaat.

    • De client wordt uitgevoerd Windows PowerShell 5.0 of hoger. Als u de nieuwste versie van Windows PowerShell wilt downloaden, gaat u naar Windows PowerShell.

    • U kunt ook elke andere client met een ondersteund besturingssysteem hebben. In dit artikel wordt de procedure beschreven bij het gebruik van Windows client.

  2. U hebt de procedure voltooid die wordt beschreven in Toegang tot het Kubernetes-cluster op Azure Stack Edge Pro apparaat. U hebt het volgende:

    • Geïnstalleerd kubectl op de client.

    • Zorg ervoor dat de clientversie niet meer dan één versie is van de Kubernetes-masterversie die wordt uitgevoerd op kubectl uw Azure Stack Edge Pro apparaat.

      • Gebruik kubectl version om de versie van kubectl te controleren die wordt uitgevoerd op de client. Noteer de volledige versie.
      • Ga in de lokale gebruikersinterface van Azure Stack Edge Pro apparaat naar Overzicht en noteer het Kubernetes-softwarenummer.
      • Controleer deze twee versies op compatibiliteit met de toewijzing die is opgegeven in de ondersteunde Kubernetes-versie.
  3. U hebt een GitOps-configuratie die u kunt gebruiken om een implementatie Azure Arc uitvoeren. In dit voorbeeld gebruikt u de volgende bestanden om te implementeren op uw yaml Azure Stack Edge Pro apparaat.

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

Configuratie implementeren

Volg deze stappen om de resource Azure Arc configureren voor het implementeren van een GitOps-configuratie via de Azure Portal:

  1. Ga in Azure Portal-cluster naar de Azure Arc-resource die u hebt gemaakt toen u Azure Arc in het Kubernetes-cluster op uw apparaat instelde.

    Ga naar Azure Arc resource

  2. Ga naar Configuraties en selecteer + Configuratie toevoegen.

    Schermopname van Azure Arc Kubernetes-cluster met ingeschakelde optie Configuratie toevoegen geselecteerd.

  3. Voer in Configuratie toevoegen de juiste waarden in voor de velden en selecteer vervolgens Toepassen.

    Parameter Beschrijving
    Configuratienaam Naam voor de configuratieresource.
    Naam van operator-exemplaar Exemplaarnaam van de operator om een specifieke configuratie te identificeren. Naam is een tekenreeks van maximaal 253 tekens die alleen kleine letters, alfanumerieke tekens, afbreekstreeepten en punt mag bevatten.
    Operatornaamruimte Stel in op demotestguestbook om overeen te komen met de naamruimte die is opgegeven in de implementatie yaml .
    Het veld definieert de naamruimte waarin de operator is geïnstalleerd. Naam is een tekenreeks van maximaal 253 tekens die alleen kleine letters, alfanumerieke tekens, afbreekstreeepten en punt mag bevatten.
    OPSLAGPLAATS-URL
    Pad naar de Git-opslagplaats in http://github.com/username/repo of de indeling waar uw git://github.com/username/repo GitOps-configuratie zich bevindt.
    Operatorbereik Selecteer Naamruimte.
    Deze parameter definieert het bereik waarop de operator is geïnstalleerd. Selecteer Naamruimte om uw operator te installeren in de naamruimte die is opgegeven in de yaml-bestanden voor de implementatie.
    Type operator Laat de standaardwaarde staan.
    Met deze parameter geeft u het type van de operator op. Standaard ingesteld als flux.
    Operatorparams Laat dit leeg.
    Deze parameter bevat parameters om door te geven aan de flux-operator.
    Helm Stel deze parameter in op Uitgeschakeld.
    Schakel deze optie in als u implementaties op basis van een grafiek wilt maken.

    Configuratie toevoegen

  4. De configuratie-implementatie wordt gestart en de operatortoestand wordt als In behandeling.

    Schermopname van Azure Arc Kubernetes-cluster met ingeschakelde status in behandeling terwijl het wordt vernieuwd.

  5. De implementatie duurt enkele minuten. Wanneer de implementatie is voltooid, wordt de operator-status geïnstalleerd.

    Schermopname van Azure Arc Kubernetes-cluster met ingeschakelde status geïnstalleerd.

Implementatie controleren

De implementatie via de GitOps-configuratie maakt een naamruimte zoals opgegeven in de implementatiebestanden demotestguestbook die zich in de yaml Git-repo bevinden.

  1. Nadat u de GitOps-configuratie hebt toegepast, Verbinding maken naar de PowerShell-interface van het apparaat.

  2. Voer de volgende opdracht uit om de pods weer te geven die worden uitgevoerd in demotestguestbook de naamruimte die overeenkomt met de implementatie.

    kubectl get pods -n <your-namespace>

    Hier is een voorbeelduitvoer.

    [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>
    
  3. In dit voorbeeld is de front-end-service geïmplementeerd als type:LoadBalancer. U moet het IP-adres van deze service vinden om de weer te guestbook geven. Voer de volgende opdracht uit.

    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>
    
  4. De front-endservice van type:LoadBalancer heeft een extern IP-adres. Dit IP-adres komt uit het IP-adresbereik dat u hebt opgegeven voor externe services bij het configureren van de instellingen voor het rekennetwerk op het apparaat. Gebruik dit IP-adres om de op guestbook URL weer te geven: https://<external-IP-address> .

    Gastboek weergeven

Implementatie verwijderen

Als u de implementatie wilt verwijderen, kunt u de configuratie verwijderen uit de Azure Portal. Als u de configuratie verwijdert, worden de objecten verwijderd die zijn gemaakt, inclusief implementaties en services.

  1. Ga in Azure Portal naar de Azure Arc resource > Configurations.
  2. Zoek de configuratie die u wilt verwijderen. Selecteer de ... om het contextmenu aan te roepen en Verwijderen te selecteren. Configuratie verwijderen

Het kan enkele minuten duren voordat de configuratie is verwijderd.

Volgende stappen

Meer informatie over het gebruik van kubernetes-dashboard voor het bewaken van implementaties op Azure Stack Edge Pro apparaat