Condividi tramite


Distribuire un'applicazione PHP Guestbook senza stato con Redis nel cluster Kubernetes abilitato per Azure Arc in Azure Stack Edge Pro GPU

SI APPLICA A: Sì per SKU GPU ProAzure Stack Edge Pro - GPUSì per lo SKU Pro 2Azure Stack Edge Pro 2Sì per SKU R ProAzure Stack Edge Pro RSì per SKU R MiniAzure Stack Edge Mini R

Questo articolo illustra come compilare e distribuire una semplice applicazione Web multilivello usando Kubernetes e Azure Arc. Questo esempio è costituito dai componenti seguenti:

  • Master Redis a istanza singola per archiviare voci guestbook
  • Più istanze di Redis replicate per la gestione delle letture
  • Più istanze front-end Web

La distribuzione viene eseguita usando GitOps nel cluster Kubernetes abilitato per Azure Arc nel dispositivo Azure Stack Edge Pro.

Questa procedura è destinata agli utenti che hanno esaminato i carichi di lavoro Kubernetes nel dispositivo Azure Stack Edge Pro e hanno familiarità con i concetti descritti in Che cos'è Kubernetes abilitato per Azure Arc (anteprima).

Nota

Questo articolo contiene riferimenti al termine slave, che Microsoft non usa più. Quando il termine verrà rimosso dal software, verrà rimosso anche dall'articolo.

Prerequisiti

Prima di poter distribuire l'applicazione senza stato, assicurarsi di aver completato i prerequisiti seguenti nel dispositivo e il client che si userà per accedere al dispositivo:

Per il dispositivo

  1. Si dispone di credenziali di accesso a un dispositivo Azure Stack Edge Pro a 1 nodo.

    1. Il dispositivo viene attivato. Vedere Attivare il dispositivo.
    2. Il dispositivo ha il ruolo di calcolo configurato tramite il portale di Azure e ha un cluster Kubernetes. Vedere Configurare il calcolo.
  2. Azure Arc è stato abilitato nel cluster Kubernetes esistente nel dispositivo e si dispone di una risorsa di Azure Arc corrispondente nel portale di Azure. Per i passaggi dettagliati, vedere Abilitare Azure Arc nel dispositivo Azure Stack Edge Pro.

Per l'accesso del client al dispositivo

  1. Si dispone di un sistema client Windows che verrà usato per accedere al dispositivo Azure Stack Edge Pro.

    • Il client esegue Windows PowerShell 5.0 o versione successiva. Per scaricare la versione più recente di Windows PowerShell, passare a Installare Windows PowerShell.

    • È possibile avere anche qualsiasi altro client con un Sistema operativo supportato. Questo articolo descrive la procedura quando si usa un client Windows.

  2. La procedura descritta in Accedere al cluster Kubernetes nel dispositivo Azure Stack Edge Pro è stata completata. Precisamente:

    • kubectl è stato installato nel client.

    • Assicurarsi che la versione del client kubectl non sia diversa da una versione della versione master Kubernetes in esecuzione nel dispositivo Azure Stack Edge Pro.

      • Usare kubectl version per controllare la versione di kubectl in esecuzione nel client. Prendere nota della versione completa.
      • Nell'interfaccia utente locale del dispositivo Azure Stack Edge Pro passare a Panoramica e prendere nota del numero di software Kubernetes.
      • Verificare che queste due versioni siano compatibili con il mapping fornito nella versione di Kubernetes supportata.
  3. È disponibile una configurazione di GitOps che è possibile usare per eseguire una distribuzione di Azure Arc. In questo esempio si useranno i file yaml seguenti per la distribuzione nel dispositivo Azure Stack Edge Pro.

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

Distribuire la configurazione

Seguire questa procedura per configurare la risorsa di Azure Arc per distribuire una configurazione GitOps tramite il portale di Azure:

  1. Nel portale di Azure passare alla risorsa di Azure Arc creata quando è stato abilitato Azure Arc nel cluster Kubernetes nel dispositivo.

    Passare alla risorsa di Azure Arc

  2. Passare a Configurazioni e selezionare + Aggiungi configurazione.

    Screenshot che mostra il cluster Kubernetes abilitato per Azure Arc con l'opzione Aggiungi configurazione selezionata.

  3. Specificare l'estensione Flux versione 1.

  4. In Aggiungere una configurazione GitOps immettere i valori appropriati per i campi e quindi selezionare Aggiungi.

    Parametro Descrizione
    Nome configurazione Nome della risorsa di configurazione.
    Nome istanza operatore Nome dell'istanza dell'operatore per identificare una configurazione specifica. Il nome è una stringa di massimo 253 caratteri che devono essere minuscoli, alfanumerici, trattini e punti.
    Spazio dei nomi operatore Impostare su demotestguestbook in modo che corrisponda allo spazio dei nomi specificato nella distribuzione yaml.
    Il campo definisce lo spazio dei nomi in cui è installato l'operatore. Il nome è una stringa di massimo 253 caratteri che devono essere minuscoli, alfanumerici, trattini e punti.
    URL del repository
    Percorso del repository Git nel formato http://github.com/username/repo o git://github.com/username/repo in cui si trova la configurazione di GitOps.
    Ambito operatore Selezionare Spazio dei nomi.
    Questo parametro definisce l'ambito in cui è installato l'operatore. Selezionare Spazio dei nomi per installare l'operatore nello spazio dei nomi specificato nei file yaml di distribuzione.
    Tipo di operatore Lasciare l'impostazione predefinita.
    Questo parametro specifica il tipo di operatore, impostato come flux per impostazione predefinita.
    Parametri dell'operatore Lasciare vuoto.
    Questo parametro contiene parametri da passare all'operatore flux.
    Helm Lasciare questa casella di controllo Deselezionata.
    Abilitare questa opzione se si eseguiranno distribuzioni basate su grafici.

    Aggiungere la configurazione

  5. La distribuzione della configurazione viene avviata e lo stato dell'operatore viene visualizzato come In sospeso.

    Screenshot che mostra il cluster Kubernetes abilitato per Azure Arc in uno stato in sospeso durante l'aggiornamento.

  6. La distribuzione richiede alcuni minuti. Al termine della distribuzione, lo stato dell'operatore viene visualizzato come Installato.

    Screenshot che mostra il cluster Kubernetes abilitato per Azure Arc in uno stato installato.

Verificare la distribuzione

La distribuzione tramite la configurazione di GitOps crea uno spazio dei nomi demotestguestbook come specificato nei file di distribuzione yaml che si trovano nel repository Git.

  1. Dopo aver applicato la configurazione di GitOps, Connettersi all'interfaccia di PowerShell del dispositivo.

  2. Eseguire il comando seguente per elencare i pod in esecuzione nello spazio dei nomi demotestguestbook corrispondente alla distribuzione.

    kubectl get pods -n <your-namespace>

    Un esempio di output è riportato di seguito.

    [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 questo esempio il servizio front-end è stato distribuito come type:LoadBalancer. Sarà necessario trovare l'indirizzo IP di questo servizio per visualizzare guestbook. Esegui il comando seguente:

    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. Il servizio front-end di type:LoadBalancer ha un indirizzo IP esterno. Questo indirizzo IP proviene dall'intervallo di indirizzi IP specificato per i servizi esterni durante la configurazione delle impostazioni di rete di calcolo nel dispositivo. Usare questo indirizzo IP per visualizzare guestbook all'URL: https://<external-IP-address>.

    Visualizzare il guestbook

Eliminare una distribuzione

Per eliminare la distribuzione, è possibile eliminare la configurazione dal portale di Azure. L'eliminazione della configurazione eliminerà gli oggetti creati, incluse le distribuzioni e i servizi.

  1. Nel portale di Azure passare alla risorsa Azure Arc > Configurazioni.
  2. Individuare la configurazione da eliminare. Selezionare ... per richiamare il menu di scelta rapida e selezionare Elimina. Eliminare la configurazione

L'eliminazione della configurazione potrebbe richiedere alcuni minuti.

Passaggi successivi

Informazioni su come usare il dashboard Kubernetes per monitorare le distribuzioni nel dispositivo Azure Stack Edge Pro