Distribuire un gateway self-hosted in Kubernetes con YAML
SI APPLICA A: Sviluppatore | Premium
Questo articolo descrive i passaggi per distribuire il componente gateway self-hosted di Azure Gestione API in un cluster Kubernetes.
Importante
Il supporto per le immagini del contenitore del gateway self-hosted di Gestione API di Azure versione 0 e versione 1 termina il 1° ottobre 2023, insieme all'API di configurazione corrispondente v1. Consultare la guida alla migrazione per usare il gateway self-hosted v2.0.0 o versione successiva con l'API di configurazione v2. Altre informazioni nella documentazione di deprecazione
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 avere accesso a un cluster esistente.
Suggerimento
I cluster a nodo singolo funzionano bene 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
La procedura seguente consente di distribuire il gateway self-hosted in Kubernetes e di abilitare 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 Di scadenza e chiave privata. Se necessario, scegliere i valori in uno o entrambi i controlli per generare un nuovo token.
- Selezionare la scheda Kubernetes in Script di distribuzione.
- Selezionare il <collegamento gateway-name>.yml file e scaricare il file YAML.
- Selezionare l'icona di copia nell'angolo in basso a destra della casella di testo Distribuisci per salvare i
kubectl
comandi negli Appunti. - Quando si usa servizio Azure Kubernetes (servizio Azure Kubernetes), 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 dalla Registro artefatti Microsoft.
- Il primo passaggio crea un segreto Kubernetes che contiene il token di accesso generato nel passaggio 4. Viene quindi creata 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 comando seguente per verificare se la distribuzione è riuscita. La creazione di tutti gli oggetti e l'inizializzazione dei pod potrebbero richiedere un po' di tempo.
kubectl get deployments
Dovrebbe restituire
NAME READY UP-TO-DATE AVAILABLE AGE <gateway-name> 1/1 1 1 18s
Eseguire il comando seguente per verificare se i servizi sono stati creati correttamente. Gli INDIRIZZI IP e le porte del servizio saranno diversi.
kubectl get services
Dovrebbe restituire
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 status 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 Gestione API e hanno un normale "heartbeat".
Suggerimento
- Eseguire il
kubectl logs deployment/<gateway-name>
comando per visualizzare i log da un pod selezionato in modo casuale se sono 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 altre 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.
- Altre informazioni sulle linee guida per l'esecuzione del gateway self-hosted in Kubernetes nell'ambiente di produzione.