Gestionar la pasarela de entrada de Apigee

A partir de la versión 1.8 de Apigee hybrid, Apigee hybrid usa la puerta de enlace de entrada de Apigee para proporcionar la puerta de enlace de entrada de hybrid.

Configurar la pasarela de entrada de Apigee

Puedes configurar tus pasarelas de entrada en tu overrides.yaml. Por ejemplo:

Sintaxis

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.
    SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE
  svcLoadBalancerIP: SVC_LOAD_BALANCER_IP # optional

Ejemplo

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 es el nombre de la implementación de la pasarela de entrada. Puede ser cualquier nombre que cumpla los siguientes requisitos:
    • Tener una longitud máxima de 17 caracteres
    • Contener solo caracteres alfanuméricos en minúscula, guiones ("-") o puntos (".").
    • Empezar con un carácter alfanumérico
    • Terminar con un carácter alfanumérico

    Consulta ingressGateways[].name en la referencia de la propiedad de configuración.

  • REPLICAS_MIN y REPLICAS_MAX: número mínimo y máximo de réplicas de la puerta de enlace de entrada de Apigee en su instalación. Consulta ingressGateways[].replicaCountMin y ingressGateways[].replicaCountMax en la referencia de la propiedad de configuración.
  • CPU_COUNT_REQ y MEMORY_REQ: la solicitud de CPU y memoria de cada réplica de la puerta de enlace de entrada de Apigee en tu instalación.

    Consulta ingressGateways[].resources.requests.cpu y ingressGateways[].resources.requests.memory en la referencia de la propiedad de configuración.

  • CPU_COUNT_LIMIT y MEMORY_LIMIT: los límites máximos de CPU y memoria de cada réplica de la puerta de enlace de entrada de Apigee en tu instalación.

    Consulta ingressGateways[].resources.limits.cpu y ingressGateways[].resources.limits.memory en la referencia de la propiedad de configuración.

  • SVC_ANNOTATIONS_KEY SVC_ANNOTATIONS_VALUE (opcional): .

    Se trata de un par clave-valor que proporciona anotaciones para tu servicio de entrada predeterminado. Tu plataforma en la nube usa las anotaciones para ayudarte a configurar tu instalación híbrida. Por ejemplo, puedes definir el tipo de balanceador de carga como interno o externo. Por ejemplo:

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

    Las anotaciones varían de una plataforma a otra. Consulta la documentación de tu plataforma para ver las anotaciones obligatorias y sugeridas.

    Consulta ingressGateways[].svcAnnotations en la referencia de la propiedad de configuración.
  • SVC_LOAD_BALANCER_IP (opcional). En las plataformas que admiten especificar la dirección IP del balanceador de carga, este se creará con esa dirección IP. En las plataformas que no permiten especificar la dirección IP del balanceador de carga, esta propiedad se ignora. Consulta ingressGateways[].svcLoadBalancerIP en la referencia de la propiedad de configuración.

Aplicar la configuración de la pasarela de entrada de Apigee

Aplica los cambios al ámbito de la organización con apigeectl.

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

Tareas de gestión

Estas son algunas de las tareas de gestión habituales de la pasarela de entrada de Apigee:

Dejar de proporcionar configuración a ASM

Después de actualizar a Apigee hybrid 1.8 y migrar el tráfico a la puerta de enlace de entrada de Apigee, puedes dejar de proporcionar configuración de enrutamiento a Anthos Service Mesh.

  1. Actualiza el controlador de Apigee para que deje de actualizar los objetos CR de Anthos Service Mesh en el servidor de la API. En el archivo de anulaciones, define lo siguiente:

    ao:
      args:
        disableIstioConfigInAPIServer: true
  2. Aplica los cambios de configuración:

    $APIGEECTL_HOME/apigeectl init -f OVERRIDES_FILE
    

    Para obtener más información, consulta ao en la referencia de propiedades de configuración.

  3. Comprueba el estado del despliegue con el siguiente comando, ya que el comando anterior ha reiniciado el controlador:
    $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
  4. Actualiza el virtualhosts. Todos los hosts virtuales deben incluir la etiqueta del selector app con el valor app: apigee-ingressgateway. Con este cambio, la pasarela de Anthos Service Mesh no podrá leer la configuración de enrutamiento de Apigee.

    Añada o sustituya la propiedad selector en cada host virtual de la siguiente manera:

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

    Aplica los cambios de configuración:

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

    Para obtener más información, consulta virtualhosts.selector en la referencia de la propiedad de configuración.

Escalar la pasarela de entrada de Apigee:

Actualiza las siguientes propiedades en el archivo de anulaciones.

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

Para obtener más información, consulta ingressGateways en la referencia de propiedades de configuración.

Aplica los cambios con apigeectl apply --org.

Actualizar la asignación de recursos

Actualiza las siguientes propiedades en el archivo de anulaciones.

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

Para obtener más información, consulta ingressGateways en la referencia de propiedades de configuración.

Aplica los cambios con apigeectl apply --org.

Actualizar el servicio de pasarela de entrada de Apigee

Actualiza las siguientes propiedades en el archivo de anulaciones.

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

Para obtener más información, consulta ingressGateways en la referencia de propiedades de configuración.

Aplica los cambios con apigeectl apply --org.

Inhabilita el balanceador de carga del servicio de pasarela de entrada de Apigee predeterminado:

Si creas un servicio de Kubernetes personalizado para tu despliegue de pasarela de entrada, puedes inhabilitar la creación de un balanceador de carga en el servicio de Kubernetes predeterminado. Actualice la propiedad ingressGateways[].svcType a ClusterIP en el archivo de anulaciones. Por ejemplo:

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

Aplica los cambios con apigeectl apply --org.

Configurar TLS y mTLS

Consulta Configurar TLS y mTLS en la pasarela de entrada.

Habilitar clientes que no son de la SNI

Consulta Habilitar clientes que no sean SNI ni HTTP.

Instalar pasarelas de entrada de Apigee adicionales

En el archivo overrides.yaml, puedes añadir varias pasarelas de entrada. La propiedad de configuración ingressGateways es una matriz. Para obtener más información, consulta ingressGateways en la referencia de propiedades de configuración.

Por ejemplo:

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

- name: meat
  replicaCountMin: 2
  replicaCountMax: 10

Aplica los cambios con apigeectl apply --org.

Dirigir el tráfico de entrada de Apigee a un host virtual

Puedes orientar una pasarela de entrada de Apigee etiquetada a un host virtual específico en tu archivo de anulaciones. Esta configuración especifica la pasarela de entrada en la que Apigee aplicará la configuración del host virtual. En el ejemplo siguiente, el host virtual spam-vh está configurado para usar la pasarela de entrada etiquetada como meat, mientras que los otros dos hosts virtuales usan la pasarela de entrada fruit. Las pasarelas de entrada deben etiquetarse correctamente, tal como se explica en el artículo sobre cómo instalar pasarelas adicionales de Anthos Service Mesh.

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

    

Preguntas frecuentes

¿Cómo funciona esto con mi instalación de Anthos Service Mesh o Istio en otro espacio de nombres?
Siempre que Apigee esté instalado en un espacio de nombres dedicado, la puerta de enlace de entrada de Apigee se puede ejecutar junto con una instalación de Anthos Service Mesh o Istio que ya exista en el clúster. La pasarela de entrada de Apigee no almacena ninguna configuración en el servidor de APIs, por lo que no habrá ningún conflicto.
¿Quién es responsable de actualizar los componentes de la pasarela de entrada de Apigee?
Apigee se encarga de actualizar los componentes de la puerta de enlace de entrada de Apigee, lo que ocurre durante las actualizaciones periódicas de la versión híbrida y los lanzamientos de parches.
¿Cómo expongo el puerto 80 en la pasarela de entrada de Apigee?
La pasarela de entrada de Apigee no admite el puerto 80. Si vas a migrar de Anthos Service Mesh a la pasarela de entrada de Apigee y has seguido las instrucciones de esta publicación de la comunidad para habilitar el puerto 80, no funcionará con la pasarela de entrada de Apigee.