Een stateless PHP-toepassing Guestbook
implementeren met Redis in een Kubernetes-cluster met Azure Arc op Azure Stack Edge Pro GPU
VAN TOEPASSING OP: Azure Stack Edge Pro - GPUAzure Stack Edge Pro 2Azure Stack Edge Pro RAzure 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
U hebt aanmeldingsreferenties voor een Azure Stack Edge Pro-apparaat met 1 knooppunt.
- Het apparaat is geactiveerd. Zie Het apparaat activeren.
- Het apparaat heeft de rekenrol geconfigureerd via Azure Portal en heeft een Kubernetes-cluster. Zie Rekenproces configureren.
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
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.
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.
- Hiermee
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:
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 Configuraties en selecteer + Configuratie toevoegen.
Geef de Flux-extensie versie 1 op.
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 inhttp://github.com/username/repo
ofgit://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.De configuratie-implementatie wordt gestart en de operatorstatus wordt weergegeven als In behandeling.
De implementatie duurt enkele minuten. Wanneer de implementatie is voltooid, wordt de operatorstatus weergegeven als Geïnstalleerd.
Implementatie verifiëren
De implementatie via de GitOps-configuratie maakt een demotestguestbook
naamruimte zoals is opgegeven in de implementatiebestanden yaml
in de Git-opslagplaats.
Nadat u de GitOps-configuratie hebt toegepast, maakt u verbinding met de PowerShell-interface van het apparaat.
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>
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>
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 deguestbook
at-URL weer te geven:https://<external-IP-address>
.
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.
- Ga in De Azure-portal naar de Azure Arc-resourceconfiguraties > .
- Zoek de configuratie die u wilt verwijderen. Selecteer de ... om het snelmenu 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 uw Azure Stack Edge Pro-apparaat