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 :

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.

Mapper des hôtes virtuels aux déploiements d'une passerelle d'entrée Apigee

Vous pouvez utiliser des étiquettes de sélecteur pour mapper un hôte virtuel à un déploiement de passerelle d'entrée Apigee. Dans l'exemple suivant, l'hôte virtuel spam-vh est configuré pour s'exécuter sur la passerelle d'entrée dotée de l'étiquette meat et les deux autres hôtes virtuels s'exécutent sur 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

    

Ajouter des suites de chiffrement personnalisées aux déploiements d'une passerelle d'entrée Apigee

Apigee hybrid est compatible avec les suites de chiffrement TLS v1.2. Si vous utilisez TLS v1.0 ou v1.1, vous pouvez utiliser la propriété virtualhosts.cipherSuites dans votre fichier de remplacement pour ajouter des suites de chiffrement personnalisées au déploiement de votre passerelle d'entrée Apigee.

Par exemple, pour assurer la compatibilité avec TLS v1.1 :

virtualhosts:
- name: ENV_GROUP_NAME
  minTLSProtocolVersion: "1.1"
  cipherSuites:
  - "ECDHE-ECDSA-AES128-GCM-SHA256"
  - "ECDHE-RSA-AES128-GCM-SHA256"
  - "ECDHE-ECDSA-AES256-GCM-SHA384"
  - "ECDHE-RSA-AES256-GCM-SHA384"
  - "ECDHE-ECDSA-CHACHA20-POLY1305"
  - "ECDHE-RSA-CHACHA20-POLY1305"
  - "ECDHE-ECDSA-AES128-SHA"
  - "ECDHE-RSA-AES128-SHA"
  - "ECDHE-ECDSA-AES256-SHA"
  - "ECDHE-RSA-AES256-SHA"
  ...

Par exemple, pour assurer la compatibilité avec TLS v.1.0 :

virtualhosts:
- name: ENV_GROUP
  minTLSProtocolVersion: "1.0"
  cipherSuites:
  - "ECDHE-ECDSA-AES128-GCM-SHA256"
  - "ECDHE-RSA-AES128-GCM-SHA256"
  - "ECDHE-ECDSA-AES256-GCM-SHA384"
  - "ECDHE-RSA-AES256-GCM-SHA384"
  - "ECDHE-ECDSA-CHACHA20-POLY1305"
  - "ECDHE-RSA-CHACHA20-POLY1305"
  - "ECDHE-ECDSA-AES128-SHA"
  - "ECDHE-RSA-AES128-SHA"
  - "ECDHE-ECDSA-AES256-SHA"
  - "ECDHE-RSA-AES256-SHA"
  ...

Personnaliser les journaux d'accès à l'entrée

Vous pouvez personnaliser la destination et le format du journal d'accès à la passerelle d'entrée Apigee, à l'aide des propriétés de configuration istiod.accessLogFile et istiod.accessLogFormat. Dans l'exemple suivant, le résultat sera envoyé à /dev/stdout, qui est la valeur par défaut pour istiod.accessLogFile :

istiod:
  accessLogFormat: '{"request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","status":"%RESPONSE_CODE%"}'

Vous pouvez désactiver la journalisation des accès à la passerelle d'entrée Apigee en attribuant à istiod.accessLogFile une valeur vide. Exemple :

istiod:
  accessLogFile: ''

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.