Gérer la passerelle d'entrée Apigee

Depuis sa version 1.8, Apigee hybrid utilise la passerelle d'entrée Apigee pour fournir une passerelle d'entrée à votre environnement hybride.

Configurer la passerelle d'entrée Apigee

Vous pouvez configurer vos passerelles d'entrée dans votre fichier overrides.yaml. Exemple :

Syntaxe

ingressGateways:
- name: INGRESS_NAME
  replicaCountMin: REPLICAS_MIN
  replicaCountMax: REPLICAS_MAX
  resources:
    requests:
      cpu: CPU_COUNT_REQ
      memory: MEMORY_REQ
    limits:
      cpu: CPU_COUNT_LIMIT
      memory: MEMORY_LIMIT
  svcAnnotations:  # optional. See Known issue 243599452.
    SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE
  svcLoadBalancerIP: SVC_LOAD_BALANCER_IP # optional

Exemple

ingressGateways:
- name: prod1
  replicaCountMin: 2
  replicaCountMax: 100
  resources:
    requests:
      cpu: 1
      memory: 1Gi
    limits:
      cpu: 2
      memory: 2Gi
  svcAnnotations:  # optional. See Known issue 243599452.
    networking.gke.io/load-balancer-type: "Internal"
  svcLoadBalancerIP: 198.252.0.123 
  • INGRESS_NAME : nom du déploiement de la passerelle d'entrée. Il peut s'agir de n'importe quel nom qui répond aux exigences suivantes :
    • Ne pas comporter plus de 17 caractères ;
    • ne contenir que des caractères alphanumériques en minuscules et des caractères '-' ou '.' ;
    • commencer par un caractère alphanumérique ;
    • se terminer par un caractère alphanumérique.

    Consultez la section ingressGateways[].name dans la documentation de référence sur les propriétés de configuration.

  • REPLICAS_MIN et REPLICAS_MAX : nombre minimal et nombre maximal d'instances répliquées pour la passerelle d'entrée Apigee dans votre installation. Consultez les sections ingressGateways[].replicaCountMin et ingressGateways[].replicaCountMax dans la documentation de référence sur les propriétés de configuration.
  • CPU_COUNT_REQ et MEMORY_REQ : demande de ressources processeur et mémoire pour chaque instance répliquée de la passerelle d'entrée Apigee de votre installation.

    Consultez les sections ingressGateways[].resources.requests.cpu et ingressGateways[].resources.requests.memory dans la documentation de référence sur les propriétés de configuration.

  • CPU_COUNT_LIMIT et MEMORY_LIMIT : limites maximales de ressources processeur et mémoire pour chaque instance répliquée de la passerelle d'entrée Apigee de votre installation.

    Consultez les sections ingressGateways[].resources.limits.cpu et ingressGateways[].resources.limits.memory dans la documentation de référence sur les propriétés de configuration.

  • SVC_ANNOTATIONS_KEY SVC_ANNOTATIONS_VALUE (facultatif) : .

    Il s'agit d'une paire clé-valeur qui fournit des annotations pour votre service d'entrée par défaut. Les annotations sont utilisées par votre plate-forme cloud pour vous aider à configurer votre installation hybride, par exemple pour définir le type d'équilibreur de charge sur interne ou externe. Exemple :

    ingressGateways:
      svcAnnotations:
        networking.gke.io/load-balancer-type: "Internal"

    Les annotations varient selon les plates-formes. Reportez-vous à la documentation de votre plate-forme pour connaître les annotations requises et celles suggérées.

    Consultez la section ingressGateways[].svcAnnotations dans la documentation de référence sur les propriétés de configuration.
  • SVC_LOAD_BALANCER_IP (facultatif) : sur les plates-formes compatibles avec la spécification de l'adresse IP de l'équilibreur de charge, celui-ci est défini avec cette adresse IP. Sur les plates-formes qui ne vous permettent pas de spécifier l'adresse IP de l'équilibreur de charge, cette propriété est ignorée. Consultez la section ingressGateways[].svcLoadBalancerIP dans la documentation de référence sur les propriétés de configuration.

Appliquer la configuration de la passerelle d'entrée Apigee

Appliquez les modifications au champ d'application de l'organisation à l'aide de la commande apigeectl.

$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --org

Tâches de gestion

Voici des tâches de gestion courantes pour la passerelle d'entrée Apigee :

Arrêter de fournir la configuration à ASM

Après être passé à la version 1.8 d'Apigee hybrid et avoir migré le trafic vers la passerelle d'entrée Apigee, vous pouvez arrêter de fournir la configuration de routage à Anthos Service Mesh.

  1. Mettez à jour le contrôleur Apigee pour arrêter de mettre à jour les objets CR d'Anthos Service Mesh sur le serveur d'API. Dans le fichier de remplacement, définissez les éléments suivants :

    ao:
      args:
        disableIstioConfigInAPIServer: true
  2. Appliquez les modifications de configuration :

    $APIGEECTL_HOME/apigeectl init -f OVERRIDES_FILE
    

    Pour en savoir plus, consultez la section ao dans la documentation de référence sur les propriétés de configuration.

  3. Vérifiez l'état du déploiement à l'aide de la commande suivante, car la commande précédente a redémarré le contrôleur :
    $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
  4. Mettez à jour les hôtes virtuels (virtualhosts). Chaque hôte virtuel doit inclure le libellé de sélecteur app avec la valeur app: apigee-ingressgateway. Avec cette modification, la passerelle Anthos Service Mesh ne pourra pas lire la configuration de routage d'Apigee.

    Ajoutez ou remplacez la propriété selector dans chaque hôte virtuel, comme suit :

    virtualhosts:
    - name: ENV_GROUP
      selector:
        app: apigee-ingressgateway # required
      ...
    

    Appliquez les modifications de configuration :

    $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --settings virtualhosts
    

    Pour en savoir plus, consultez la section virtualhosts.selector dans la documentation de référence sur les propriétés de configuration.

Faire évoluer la passerelle d'entrée Apigee :

Mettez à jour les propriétés suivantes dans votre fichier de remplacement.

  • ingressGateways[].replicaCountMax
  • ingressGateways[].replicaCountMin

Pour en savoir plus, consultez la section ingressGateways dans la documentation de référence sur les propriétés de configuration.

Appliquez les modifications à l'aide de la commande apigeectl apply --org.

Mettre à jour l'allocation des ressources

Mettez à jour les propriétés suivantes dans votre fichier de remplacement.

  • ingressGateways[].resources.limits.cpu
  • ingressGateways[].resources.limits.memory
  • ingressGateways[].resources.requests.cpu
  • ingressGateways[].resources.requests.memory

Pour en savoir plus, consultez la section ingressGateways dans la documentation de référence sur les propriétés de configuration.

Appliquez les modifications à l'aide de la commande apigeectl apply --org.

Mettre à jour le service de passerelle d'entrée Apigee

Mettez à jour les propriétés suivantes dans votre fichier de remplacement.

  • ingressGateways[].svcAnnotations
  • ingressGateways[].svcLoadBalancerIP

Pour en savoir plus, consultez la section ingressGateways dans la documentation de référence sur les propriétés de configuration.

Appliquez les modifications à l'aide de la commande apigeectl apply --org.

Désactivez l'équilibreur de charge pour le service de passerelle d'entrée Apigee par défaut :

Si vous créez un service Kubernetes personnalisé pour votre déploiement de passerelle d'entrée, vous pouvez désactiver la création d'un équilibreur de charge sur le service Kubernetes par défaut. Mettez à jour la propriété ingressGateways[].svcType vers ClusterIP dans votre fichier de remplacement. Exemple :

ingressGateways:
  - name: my-ingress-gateway
    replicaCountMin: 2
    replicaCountMax: 10
    svcType: ClusterIP

Appliquez les modifications à l'aide de la commande apigeectl apply --org.

Configurer TLS et mTLS

Consultez la section Configurer TLS et mTLS sur la passerelle d'entrée.

Activer des clients sans SNI

Consultez la section Activer les clients non SNI et HTTP.

Installer des passerelles d'entrée Apigee supplémentaires

Vous pouvez ajouter plusieurs passerelles d'entrée dans le fichier overrides.yaml. La propriété de configuration ingressGateways est un tableau. Pour en savoir plus, consultez la section ingressGateways dans la documentation de référence sur les propriétés de configuration.

Exemple :

ingressGateways:
- name: fruit
  replicaCountMin: 2
  replicaCountMax: 10

- name: meat
  replicaCountMin: 2
  replicaCountMax: 10

Appliquez les modifications à l'aide de la commande apigeectl apply --org.

Cibler une entrée Apigee sur un hôte virtuel

Vous pouvez cibler une passerelle d'entrée Apigee étiquetée sur un hôte virtuel spécifique dans votre fichier de remplacement. Cette configuration spécifie la passerelle d'entrée où Apigee va appliquer la configuration de l'hôte virtuel. Dans l'exemple suivant, l'hôte virtuel spam-vh est configuré pour utiliser la passerelle d'entrée nommée meat, tandis que les deux autres hôtes virtuels utilisent la passerelle d'entrée fruit. Les passerelles d'entrée doivent être correctement étiquetées, comme expliqué sur la page Installer des passerelles Anthos Service Mesh supplémentaires.

virtualhosts:
- name: spam-vh
  sslCertPath: cert-spam.crt
  sslKeyPath: cert-spam.key
  selector:
    app: apigee-ingressgateway
    ingress_name: meat
- name: banana-vh
  sslCertPath: cert-banana.crt
  sslKeyPath: cert-banana.key
  selector:
    app: apigee-ingressgateway
    ingress_name: fruit
- name: plum-vh
  sslCertPath: cert-plum.crt
  sslKeyPath: cert-plum.key
  selector:
    app: apigee-ingressgateway
    ingress_name: fruit

    

Questions fréquentes

Comment se comporte cette passerelle lorsque mon installation Anthos Service Mesh/Istio existante se trouve dans un autre espace de noms ?
Tant qu'Apigee est installé dans un espace de noms dédié, la passerelle d'entrée Apigee peut être exécutée conjointement à une installation Anthos Service Mesh/Istio existante dans le cluster. Comme la passerelle d'entrée Apigee ne stocke aucune configuration sur le serveur d'API, il n'y aura aucun conflit.
Qui est responsable de la mise à niveau des composants de la passerelle d'entrée Apigee ?
La mise à niveau des composants de la passerelle d'entrée Apigee est assurée par Apigee et se déroule pendant les mises à niveau effectuées régulièrement sur l'installation hybride, ainsi que lors de l'application des correctifs.
Comment exposer le port 80 dans la passerelle d'entrée Apigee ?
Le port 80 n'est pas pris en charge par la passerelle d'entrée Apigee. Si vous effectuez une migration depuis Anthos Service Mesh vers la passerelle d'entrée Apigee et que vous avez suivi les instructions du post destiné à la communauté pour activer le port 80, cela ne fonctionnera pas avec la passerelle d'entrée Apigee.