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
- Completare la guida introduttiva seguente: Creare un'istanza di Gestione API di Azure.
- Creare un cluster Kubernetes o accedere a un cluster esistente.
Suggerimento
I cluster a nodo singolo sono indicati per scopi di sviluppo e valutazione. Usare cluster multinodo certificati Kubernetes in locale o nel cloud per i carichi di lavoro di produzione.
- Effettuare il provisioning di una risorsa gateway self-hosted nell'istanza di Gestione API.
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.
- Selezionare Gateway in Distribuzione e infrastruttura.
- Selezionare la risorsa gateway self-hosted da distribuire.
- Selezionare Distribuzione.
- 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.
- Selezionare la scheda Kubernetes in Script di distribuzione.
- Selezionare il collegamento del file <gateway-name>.yml e scaricare il file YAML.
- Selezionare l'icona di copia nell'angolo in basso a destra della casella di testo Distribuisci per salvare i comandi
kubectl
negli Appunti. - 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. - 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
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
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
Tornare al portale di Azure e selezionare Panoramica.
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.
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
- Per ulteriori informazioni sul gateway self-hosted, vedere Panoramica del gateway self-hosted.
- Informazioni su come distribuire il gateway self-hosted di Gestione API nei cluster Kubernetes abilitati per Azure Arc.
- Ulteriori informazioni sulle linee guida per l'esecuzione del gateway self-hosted in Kubernetes in produzione.