Déployer une passerelle auto-hébergée sur Kubernetes avec Helm

S’APPLIQUE À : Développeur | Premium

Helm est un outil d’empaquetage open source qui vous aide à installer et à gérer le cycle de vie d’applications Kubernetes. Il vous permet de gérer les graphiques Kubernetes, qui sont des packages de ressources Kubernetes préconfigurées.

Cet article explique comment déployer la passerelle auto-hébergée de la Gestion des API Azure sur un cluster Kubernetes à l’aide de Helm.

Important

La prise en charge des images conteneur de la passerelle auto-hébergée version 0 et version 1 d’Azure Gestion des API se termine le 1er octobre 2023, ainsi que son API de configuration correspondante v1. Utilisez notre guide de migration pour utiliser la passerelle auto-hébergée v2.0.0 ou une version ultérieure avec l’API de configuration v2. En savoir plus dans notre documentation de dépréciation

Notes

Vous pouvez également déployer une passerelle auto-hébergée sur un cluster Kubernetes avec Azure Arc en tant qu’extension de cluster.

Prérequis

  • Créez un cluster Kubernetes ou accédez à un cluster existant.

    Conseil

    Les clusters à nœud unique conviennent bien au développement et à l’évaluation. Utilisez des clusters multinœuds certifiés par Kubernetes pour des charges de travail de production locales ou dans le cloud.

Ajout du dépôt Helm

  1. Ajoutez la Gestion des API Azure en tant que nouveau dépôt Helm.

    helm repo add azure-apim-gateway https://azure.github.io/api-management-self-hosted-gateway/helm-charts/
    
  2. Mettez à jour le dépôt pour récupérer les derniers graphiques Helm.

    helm repo update
    
  3. Vérifiez votre configuration Helm en listant tous les graphiques disponibles.

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

Déployer la passerelle auto-hébergée sur Kubernetes

  1. Sélectionnez Gateways (Passerelles) sous Deployment and infrastructure (Déploiement et infrastructure).

  2. Sélectionnez la ressource de passerelle auto-hébergée que vous souhaitez déployer.

  3. Sélectionnez Déploiement.

  4. Un nouveau jeton dans la zone de texte Jeton a été généré automatiquement pour vous avec les valeurs par défaut de Expiration et Clé secrète. Ajustez l’un ou l’autre, ou les deux, si vous le souhaitez, puis sélectionnez Générer pour créer un autre jeton.

  5. Notez votre jeton et l’URL de configuration

  6. Installer la passerelle auto-hébergée à l’aide du graphique 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. Exécutez la commande. La commande indique à votre cluster Kubernetes d’effectuer les opérations suivantes :

    • Téléchargez l’image de la passerelle auto-hébergée à partir de Microsoft Container Registry, puis exécutez-la comme un conteneur.
    • Configurez le conteneur pour exposer les ports HTTP (8080) et HTTPS (8081).

    Important

    Par défaut, la passerelle utilise un service ClusterIP et elle est exposée uniquement à l’intérieur du cluster. Vous pouvez modifier cela en spécifiant le type de service Kubernetes pendant l’installation.

    Par exemple, vous pouvez l’exposer par le biais d’un équilibreur de charge en ajoutant --set service.type=LoadBalancer

  8. Exécutez la commande suivante pour vérifier que le pod de la passerelle est en cours d’exécution. Le nom de votre pod sera différent.

    kubectl get pods
    NAME                                           READY     STATUS    RESTARTS   AGE
    azure-api-management-gateway-59f5fb94c-s9stz   1/1       Running   0          1m
    
  9. Exécutez la commande suivante pour vérifier que le service de passerelle est en cours d’exécution. Le nom de votre service et les adresses IP seront différents.

    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. Retournez au portail Azure et vérifiez que le nœud de la passerelle que vous avez déployée signale l’état d’intégrité.

Conseil

Utilisez la commande kubectl logs <gateway-pod-name> pour afficher un instantané du journal de la passerelle auto-hébergée.

Étapes suivantes