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.
- 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.
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.
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.
- 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.