Distribuire un gateway self-hosted in Kubernetes con YAML

SI APPLICA A: Sviluppatore | Premium

Questo articolo illustra i passaggi per la distribuzione del componente gateway self-hosted di Gestione API di Azure in un cluster Kubernetes.

Nota

È anche possibile distribuire il gateway self-hosted in un Cluster Kubernetes con abilitazione di Azure Arc come estensione del cluster.

Prerequisiti

Eseguire la distribuzione in Kubernetes

Suggerimento

I seguenti passaggi distribuiscono il gateway self-hosted in Kubernetes e abilitano l'autenticazione nell'istanza di Gestione API usando un token di accesso gateway (chiave di autenticazione). È anche possibile distribuire il gateway self-hosted in Kubernetes e abilitare l'autenticazione nell'istanza di Gestione API usando Microsoft Entra ID.

  1. Selezionare Gateway in Distribuzione e infrastruttura.
  2. Selezionare la risorsa gateway self-hosted da distribuire.
  3. Selezionare Distribuzione.
  4. Un token di accesso nella casella di testo Token è stato generato automaticamente in base ai valori predefiniti Scadenza e Chiave privata. Se necessario, selezionare i valori in uno o entrambi i controlli per generare un nuovo token.
  5. Selezionare la scheda Kubernetes in Script di distribuzione.
  6. Selezionare il collegamento del file <gateway-name>.yml e scaricare il file YAML.
  7. Selezionare l'icona di copia nell'angolo in basso a destra della casella di testo Distribuisci per salvare i comandi kubectl negli Appunti.
  8. Quando si sta usando il servizio Azure Kubernetes (AKS), eseguire az aks get-credentials --resource-group <resource-group-name> --name <resource-name> --admin in una nuova sessione del terminale.
  9. Eseguire i comandi per creare gli oggetti Kubernetes necessari nello spazio dei nomi predefinito e avviare i pod del gateway self-hosted dall’immagine del contenitore scaricata dal Registro artefatti Microsoft.
    • Il primo passaggio crea un segreto Kubernetes che contiene il token di accesso generato nel passaggio 4. Quindi, crea una distribuzione Kubernetes per il gateway self-hosted che usa un oggetto ConfigMap con la configurazione del gateway.

Verificare che il gateway sia in esecuzione

  1. Eseguire il seguente comando per verificare se la distribuzione sia riuscita. La creazione degli oggetti e l'inizializzazione dei pod potrebbero richiedere un po' di tempo.

    kubectl get deployments
    

    Il valore restituito dovrebbe essere

    NAME             READY   UP-TO-DATE   AVAILABLE   AGE
    <gateway-name>   1/1     1            1           18s
    
  2. Eseguire il seguente comando per verificare se i servizi siano stati creati correttamente. Gli indirizzi IP e le porte del servizio saranno diversi.

    kubectl get services
    

    Il valore restituito dovrebbe essere

    NAME                                TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)                      AGE
    <gateway-name>-live-traffic         ClusterIP      None            <none>        4290/UDP,4291/UDP   9m1s
    <gateway-name>-instance-discovery   LoadBalancer   10.99.236.168   <pending>     80:31620/TCP,443:30456/TCP   9m1s
    
  3. Tornare al portale di Azure e selezionare Panoramica.

  4. Verificare che Stato mostri un segno di spunta verde, seguito da un conteggio dei nodi corrispondente al numero di repliche specificate nel file YAML. Questo stato indica che i pod gateway self-hosted distribuiti comunicano correttamente con il servizio API Management e hanno un "heartbeat" regolare.Screenshot che mostra lo stato del gateway self-hosted nel portale.

Suggerimento

  • Eseguire il comando kubectl logs deployment/<gateway-name> per visualizzare i log da un pod selezionato casualmente nel caso in cui siano presenti più pod.
  • Eseguire kubectl logs -h per un set completo di opzioni di comando; ad esempio, come visualizzare i log per un pod o un contenitore specifico.

Passaggi successivi