Distribuire un gateway self-hosted in Kubernetes con Helm

SI APPLICA A: Sviluppatore | Premium

Helm è uno strumento per la creazione di pacchetti open source che consente di installare e gestire il ciclo di vita delle applicazioni Kubernetes. Consente di gestire i grafici Kubernetes, ovvero pacchetti di risorse Kubernetes preconfigurati.

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

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

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

Aggiunta del repository Helm

  1. Aggiungere Gestione API Azure come nuovo repository Helm

    helm repo add azure-apim-gateway https://azure.github.io/api-management-self-hosted-gateway/helm-charts/
    
  2. Aggiornare il repository per recuperare i grafici Helm più recenti.

    helm repo update
    
  3. Verificare la configurazione Helm elencando tutti i grafici disponibili.

    $ helm search repo azure-apim-gateway
    NAME                                            CHART VERSION   APP VERSION     DESCRIPTION
    azure-apim-gateway/azure-api-management-gateway 1.0.0           2.0.0           A Helm chart to deploy an Azure API Management ...
    

Distribuire il gateway self-hosted in Kubernetes

  1. Selezionare Gateway in Distribuzione e infrastruttura.

  2. Selezionare la risorsa gateway self-hosted che si intende distribuire.

  3. Selezionare Distribuzione.

  4. Un nuovo token di accesso nella casella di testo Token è stato generato automaticamente usando i valori predefiniti Scadenza e Chiave privata. Modificarne uno o entrambi, se necessario, e selezionare Genera per creare un nuovo token.

  5. Prendere nota del token e dell'URL di configurazione

  6. Installare il gateway self-hosted usando il grafico Helm

    helm install azure-api-management-gateway \
                 --set gateway.configuration.uri='<your configuration url>' \
                 --set gateway.auth.key='<your token>' \
                 azure-apim-gateway/azure-api-management-gateway
    
  7. Eseguire il comando . Il comando indica al cluster Kubernetes di:

    • Scaricare l'immagine del gateway self-hosted dal Registro Azure Container ed eseguirla come contenitore.
    • Configurare il contenitore per esporre le porte HTTP (8080) e HTTPS (8081).

    Importante

    Per impostazione predefinita, il gateway usa un servizio ClusterIP ed è esposto solo all'interno del cluster. È possibile modificare questa impostazione specificando il tipo di servizio Kubernetes durante l'installazione.

    Ad esempio, è possibile esporlo tramite un servizio di bilanciamento del carico aggiungendo --set service.type=LoadBalancer

  8. Eseguire il comando seguente per verificare che il pod del gateway sia in esecuzione. Il nome del pod sarà diverso.

    kubectl get pods
    NAME                                           READY     STATUS    RESTARTS   AGE
    azure-api-management-gateway-59f5fb94c-s9stz   1/1       Running   0          1m
    
  9. Eseguire il comando seguente per verificare che il servizio del gateway sia in esecuzione. Il nome del servizio e gli indirizzi IP saranno diversi.

    kubectl get services
    NAME                           TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)               AGE
    azure-api-management-gateway   ClusterIP   10.0.229.55     <none>        8080/TCP,8081/TCP     1m
    
  10. Tornare al portale di Azure e verificare che il nodo del gateway distribuito segnali lo stato di integrità.

Suggerimento

Usare il comando kubectl logs <gateway-pod-name> per visualizzare uno snapshot del log del gateway self-hosted.

Passaggi successivi