Delen via


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

VAN TOEPASSING OP: Ja voor Pro GPU-SKUAzure Stack Edge Pro - GPUJa voor Pro 2 SKUAzure Stack Edge Pro 2Ja voor Pro R SKUAzure Stack Edge Pro RJa voor Mini R SKUAzure Stack Edge Mini R

In dit artikel leest u hoe u een eenvoudige webtoepassing met meerdere lagen bouwt 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 van guestbook vermeldingen
  • Meerdere gerepliceerde Redis-exemplaren voor leesbewerkingen
  • Meerdere front-endexemplaren van het web

De implementatie wordt uitgevoerd met Behulp van GitOps in het Kubernetes-cluster met Azure Arc op uw Azure Stack Edge Pro-apparaat.

Deze procedure is bedoeld voor personen die de Kubernetes-workloads op een Azure Stack Edge Pro-apparaat hebben gecontroleerd en bekend zijn met de concepten van Kubernetes met Azure Arc (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 op uw apparaat en de client die u gebruikt voor toegang tot het apparaat hebt voltooid:

Voor het apparaat

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

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

Voor clienttoegang tot het apparaat

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

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

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

  2. U hebt de procedure voltooid die wordt beschreven in Access the Kubernetes cluster on Azure Stack Edge Pro device. U hebt:

    • Geïnstalleerd kubectl op de client.

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

      • Hiermee kubectl version controleert u de versie van kubectl die wordt uitgevoerd op de client. Noteer de volledige versie.
      • Ga in de lokale gebruikersinterface van uw Azure Stack Edge Pro-apparaat naar Overzicht en noteer het Kubernetes-softwarenummer.
      • Controleer deze twee versies op compatibiliteit van de toewijzing die is opgegeven in de ondersteunde Kubernetes-versie.
  3. U hebt een GitOps-configuratie die u kunt gebruiken om een Azure Arc-implementatie uit te voeren. In dit voorbeeld gebruikt u de volgende yaml bestanden om te implementeren op uw 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 Azure Arc-resource te configureren voor het implementeren van een GitOps-configuratie via Azure Portal:

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

    Ga naar Azure Arc-resource

  2. Ga naar Configuraties en selecteer + Configuratie toevoegen.

    Schermopname van het Kubernetes-cluster met Azure Arc, met Configuratie toevoegen geselecteerd.

  3. Geef de Flux-extensie versie 1 op.

  4. Voer in Een GitOps-configuratie toevoegen de juiste waarden voor de velden in en selecteer vervolgens Toevoegen.

    Parameter Description
    Configuratienaam Naam voor de configuratieresource.
    Naam van operatorexemplaren Exemplaarnaam van de operator om een specifieke configuratie te identificeren. De naam is een tekenreeks van maximaal 253 tekens die alleen kleine letters, alfanumerieke tekens, afbreekstreepjes en punt moeten zijn.
    Operatornaamruimte Ingesteld op demotestguestbook zodat deze overeenkomt met de naamruimte die is opgegeven in de implementatie yaml.
    In het veld wordt de naamruimte gedefinieerd waarop de operator is geïnstalleerd. De naam is een tekenreeks van maximaal 253 tekens die alleen kleine letters, alfanumerieke tekens, afbreekstreepjes en punt moeten zijn.
    URL van opslagplaats
    Pad naar de Git-opslagplaats in http://github.com/username/repo of git://github.com/username/repo indeling waar uw 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-implementatiebestanden.
    Operatortype Laat de standaardwaarde staan.
    Met deze parameter wordt het type operator opgegeven, standaard ingesteld als flux.
    Operatorparameters Laat dit leeg.
    Deze parameter bevat parameters die aan de flux-operator moeten worden doorgegeven.
    Helm Laat dit selectievakje uitgeschakeld.
    Schakel deze optie in als u implementaties op basis van grafieken gaat uitvoeren.

    Configuratie toevoegen

  5. De configuratie-implementatie wordt gestart en de operatorstatus wordt weergegeven als In behandeling.

    Schermopname van het Kubernetes-cluster met Azure Arc in de status In behandeling wanneer het wordt vernieuwd.

  6. De implementatie duurt enkele minuten. Wanneer de implementatie is voltooid, wordt de operatorstatus weergegeven als Geïnstalleerd.

    Schermopname van het Kubernetes-cluster met Azure Arc in een geïnstalleerde status.

Implementatie verifiëren

De implementatie via de GitOps-configuratie maakt een demotestguestbook naamruimte zoals is opgegeven in de implementatiebestanden yaml in de Git-opslagplaats.

  1. Nadat u de GitOps-configuratie hebt toegepast, maakt u verbinding met de PowerShell-interface van het apparaat.

  2. Voer de volgende opdracht uit om de pods weer te geven die worden uitgevoerd in de demotestguestbook 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-endservice geïmplementeerd als type: LoadBalancer. U moet het IP-adres van deze service vinden om de guestbook. 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 het type 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 compute-netwerk op het apparaat. Gebruik dit IP-adres om de guestbook at-URL weer te geven: https://<external-IP-address>.

    Gastboek weergeven

Implementatie verwijderen

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

  1. Ga in De Azure-portal naar de Azure Arc-resourceconfiguraties > .
  2. Zoek de configuratie die u wilt verwijderen. Selecteer de ... om het snelmenu 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 uw Azure Stack Edge Pro-apparaat