Partager via


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

S’APPLIQUE À : Développeur | Premium

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

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

Déployer sur Kubernetes

Conseil

Les étapes suivantes déploient la passerelle auto-hébergée sur Kubernetes et activent l’authentification auprès de l’instance API management à l’aide d’un jeton d’accès de passerelle (clé d’authentification). Vous pouvez également déployer la passerelle auto-hébergée sur Kubernetes et activer l’authentification auprès de l’instance API management à l’aide de Microsoft Entra ID.

  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 voulez déployer.
  3. Sélectionnez Déploiement.
  4. Un jeton d’accès dans la zone de texte Token (Jeton) a été généré automatiquement pour vous, sur la base des valeurs par défaut pour l’expiration (Expiry) et la clé secrète (Secret key). Si nécessaire, choisissez les valeurs souhaitées dans l’un des contrôles ou dans les deux pour générer un jeton.
  5. Sélectionnez l’onglet Kubernetes sous Deployment scripts (Scripts de déploiement).
  6. Sélectionnez le lien du fichier <nom-passerelle>.yml, puis téléchargez le fichier YAML.
  7. Sélectionnez l’icône Copier en bas à droite de la zone de texte Deploy (Déployer) pour enregistrer les commandes kubectl dans le Presse-papiers.
  8. Lorsque vous utilisez Azure Kubernetes Service (AKS), exécutez az aks get-credentials --resource-group <resource-group-name> --name <resource-name> --admin dans une nouvelle session de terminal.
  9. Exécutez les commandes pour créer les objets Kubernetes nécessaires dans l’espace de noms par défaut et démarrez le ou les pods de la passerelle auto-hébergée à partir d’une image conteneur téléchargée à partir de Microsoft Artifact Registry.
    • La première étape crée un secret Kubernetes contenant le jeton d’accès généré à l’étape 4. Ensuite, elle crée un déploiement Kubernetes pour la passerelle auto-hébergée qui utilise un ConfigMap avec la configuration de la passerelle.

Vérifier que la passerelle est en cours d’exécution

  1. Exécutez la commande suivante pour vérifier si le déploiement a réussi. Notez que le temps nécessaire à la création de tous les objets et à l’initialisation des pods peut être long.

    kubectl get deployments
    

    Il devrait y avoir un retour

    NAME             READY   UP-TO-DATE   AVAILABLE   AGE
    <gateway-name>   1/1     1            1           18s
    
  2. Exécutez la commande suivante pour vérifier si les services ont bien été créés. Les adresses IP et les ports de votre service seront différents.

    kubectl get services
    

    Il devrait y avoir un retour

    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. Revenez au portail Azure, puis sélectionnez Vue d’ensemble.

  4. Vérifiez qu’État affiche une coche verte, suivie d’un nombre de nœuds qui correspond au nombre de réplicas spécifiés dans le fichier YAML. Cet état signifie que les pods de passerelle auto-hébergés déployés communiquent avec le service API management et présentent une « pulsation » normale.Capture d’écran qui montre l’état de la passerelle auto-hébergée dans le portail.

Conseil

  • Exécutez la commande kubectl logs deployment/<gateway-name> pour afficher les journaux d’un pod sélectionné de manière aléatoire, s’il en existe plusieurs.
  • Exécutez kubectl logs -h pour obtenir un ensemble complet d’options de commande, par exemple, comment afficher les journaux d’un pod ou d’un conteneur spécifique.

Étapes suivantes