Een staatloze Guestbook PHP-toepassing met Redis implementeren in Azure Arc Kubernetes-cluster op Azure Stack Edge Pro GPU
van toepassing op:
Azure stack Edge Pro-GPU
Azure stack Edge Pro r
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
guestbookvan 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
U hebt aanmeldingsreferenties voor een apparaat met één Azure Stack Edge Pro knooppunt.
- Het apparaat wordt geactiveerd. Zie Het apparaat activeren.
- Op het apparaat is de rekenrol geconfigureerd via Azure Portal en een Kubernetes-cluster. Zie Compute configureren.
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
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.
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
kubectlop de client.Zorg ervoor dat de clientversie niet meer dan één versie is van de Kubernetes-masterversie die wordt uitgevoerd op
kubectluw Azure Stack Edge Pro apparaat.- Gebruik
kubectl versionom 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.
- Gebruik
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
yamlAzure Stack Edge Pro apparaat.frontend-deployment.yamlfrontend-service.yamlredis-master-deployment.yamlredis-master-service.yamlredis-slave-deployment.yamlredis-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:
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 Configuraties en selecteer + Configuratie toevoegen.

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 inhttp://github.com/username/repoof de indeling waar uwgit://github.com/username/repoGitOps-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.
De configuratie-implementatie wordt gestart en de operatortoestand wordt als In behandeling.

De implementatie duurt enkele minuten. Wanneer de implementatie is voltooid, wordt de operator-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.
Nadat u de GitOps-configuratie hebt toegepast, Verbinding maken naar de PowerShell-interface van het apparaat.
Voer de volgende opdracht uit om de pods weer te geven die worden uitgevoerd in
demotestguestbookde 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>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
guestbookgeven. 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>De front-endservice van
type:LoadBalancerheeft 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 opguestbookURL weer te geven:https://<external-IP-address>.
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.
- Ga in Azure Portal naar de Azure Arc resource > Configurations.
- Zoek de configuratie die u wilt verwijderen. Selecteer de ... om het contextmenu aan te roepen en Verwijderen te selecteren.

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