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

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.

  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 Di scadenza e chiave privata. Se necessario, scegliere 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 gateway-name>.yml file 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 kubectl comandi negli Appunti.
  8. 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.
  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 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

  1. 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
    
  2. 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
    
  3. Tornare al portale di Azure e selezionare Panoramica.

  4. 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".Screenshot che mostra lo stato del gateway self-hosted nel portale.

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