Distribuera ett tillståndslöst PHP-program Guestbook
med Redis i Azure Arc-aktiverat Kubernetes-kluster i Azure Stack Edge Pro GPU
GÄLLER FÖR: Azure Stack Edge Pro – GPUAzure Stack Edge Pro 2Azure Stack Edge Pro RAzure Stack Edge Mini R
Den här artikeln visar hur du skapar och distribuerar ett enkelt webbprogram med flera nivåer med Kubernetes och Azure Arc. Det här exemplet består av följande komponenter:
- En Redis-huvudinstans för att lagra
guestbook
poster - Flera replikerade Redis-instanser för att hantera läsningar
- Flera webbklientdelsinstanser
Distributionen görs med GitOps i Det Azure Arc-aktiverade Kubernetes-klustret på din Azure Stack Edge Pro-enhet.
Den här proceduren är avsedd för personer som har granskat Kubernetes-arbetsbelastningarna på Azure Stack Edge Pro-enheten och som är bekanta med begreppen Vad är Azure Arc-aktiverade Kubernetes (förhandsversion).
Kommentar
Den här artikeln innehåller referenser till termen slav, en term som Microsoft inte längre använder. När termen tas bort från programvaran tar vi bort den från den här artikeln.
Förutsättningar
Innan du kan distribuera det tillståndslösa programmet kontrollerar du att du har slutfört följande krav på enheten och klienten som du ska använda för att komma åt enheten:
För enheten
Du har inloggningsuppgifter till en Azure Stack Edge Pro-enhet med en nod.
- Enheten är aktiverad. Se Aktivera enheten.
- Enheten har beräkningsrollen konfigurerad via Azure Portal och har ett Kubernetes-kluster. Se Konfigurera beräkning.
Du har aktiverat Azure Arc på det befintliga Kubernetes-klustret på enheten och du har en motsvarande Azure Arc-resurs i Azure Portal. Detaljerade steg finns i Aktivera Azure Arc på Azure Stack Edge Pro-enhet.
För klientåtkomst till enheten
Du har ett Windows-klientsystem som ska användas för att komma åt Azure Stack Edge Pro-enheten.
Klienten kör Windows PowerShell 5.0 eller senare. Om du vill ladda ned den senaste versionen av Windows PowerShell går du till Installera Windows PowerShell.
Du kan också ha en annan klient med ett operativsystem som stöds. Den här artikeln beskriver proceduren när du använder en Windows-klient.
Du har slutfört proceduren som beskrivs i Åtkomst till Kubernetes-klustret på Azure Stack Edge Pro-enheten. Du har:
Installerad
kubectl
på klienten.Kontrollera att
kubectl
klientversionen inte är skev mer än en version från Kubernetes-huvudversionen som körs på din Azure Stack Edge Pro-enhet.- Använd
kubectl version
för att kontrollera vilken version av kubectl som körs på klienten. Anteckna den fullständiga versionen. - I det lokala användargränssnittet för din Azure Stack Edge Pro-enhet går du till Översikt och noterar Kubernetes-programvarunumret.
- Verifiera dessa två versioner för kompatibilitet från mappningen som anges i Kubernetes-versionen som stöds.
- Använd
Du har en GitOps-konfiguration som du kan använda för att köra en Azure Arc-distribution. I det här exemplet använder du följande
yaml
filer för att distribuera på din Azure Stack Edge Pro-enhet.frontend-deployment.yaml
frontend-service.yaml
redis-master-deployment.yaml
redis-master-service.yaml
redis-slave-deployment.yaml
redis-slave-service.yaml
Distribuera konfigurationen
Följ de här stegen för att konfigurera Azure Arc-resursen för att distribuera en GitOps-konfiguration via Azure Portal:
I Azure Portal går du till den Azure Arc-resurs som du har skapat när du aktiverade Azure Arc i Kubernetes-klustret på enheten.
Gå till Konfigurationer och välj + Lägg till konfiguration.
Ange Flux version 1-tillägget.
I Lägg till en GitOps-konfiguration anger du lämpliga värden för fälten och väljer sedan Lägg till.
Parameter Description Konfigurationsnamn Namn på konfigurationsresursen. Namn på operatorinstans Instansnamnet på operatorn för att identifiera en specifik konfiguration. Namn är en sträng med högst 253 tecken som endast måste vara gemener, alfanumerisk, bindestreck och punkt. Operatornamnområde Ställ in på demotestguestbook för att matcha namnområdet som anges i distributionen yaml
.
Fältet definierar namnområdet där operatorn är installerad. Namn är en sträng med högst 253 tecken som endast måste vara gemener, alfanumerisk, bindestreck och punkt.URL för lagringsplats
Sökväg till git-lagringsplatsen ihttp://github.com/username/repo
ellergit://github.com/username/repo
formatet där GitOps-konfigurationen finns.Operatoromfång Välj Namnområde.
Den här parametern definierar det omfång där operatorn är installerad. Välj Namnområde för att installera operatorn i namnområdet som anges i yaml-filerna för distribution.Typ av operator Lämna som standard.
Den här parametern anger typen av operator – som standard inställd som flöde.Operatorparamer Låt den vara tom.
Den här parametern innehåller parametrar som ska skickas till flödesoperatorn.Helm Låt kryssrutan vara avmarkerad.
Aktivera det här alternativet om du vill göra diagrambaserade distributioner.Konfigurationsdistributionen startar och operatortillståndet visas som Väntande.
Distributionen tar några minuter. När distributionen är klar visas operatortillståndet som Installerat.
Verifiera distributionen
Distributionen via GitOps-konfigurationen skapar ett demotestguestbook
namnområde som anges i distributionsfilerna yaml
som finns på git-lagringsplatsen.
När du har tillämpat GitOps-konfigurationen ansluter du till Enhetens PowerShell-gränssnitt.
Kör följande kommando för att visa de poddar som körs i namnområdet
demotestguestbook
som motsvarar distributionen.kubectl get pods -n <your-namespace>
Här är ett exempel på utdata.
[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>
I det här exemplet distribuerades klientdelstjänsten som typ:LoadBalancer. Du måste hitta IP-adressen för den här tjänsten för att visa
guestbook
. Kör följande kommando.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>
Klientdelstjänsten
type:LoadBalancer
för har en extern IP-adress. Den här IP-adressen kommer från det IP-adressintervall som du angav för externa tjänster när du konfigurerade inställningarna för Beräkningsnätverk på enheten. Använd den här IP-adressen för att visa webbadressenguestbook
:https://<external-IP-address>
.
Ta bort distribution
Om du vill ta bort distributionen kan du ta bort konfigurationen från Azure Portal. Om du tar bort konfigurationen tas de objekt som skapades bort, inklusive distributioner och tjänster.
- I Azure Portal går du till Azure Arc-resurskonfigurationer>.
- Leta upp den konfiguration som du vill ta bort. Välj ... för att anropa snabbmenyn och välja Ta bort.
Det kan ta flera minuter innan konfigurationen tas bort.
Nästa steg
Lär dig hur du använder Kubernetes-instrumentpanelen för att övervaka distributioner på din Azure Stack Edge Pro-enhet