Administra la puerta de enlace de entrada de Apigee

A partir de la versión 1.8 de Apigee Hybrid, la Apigee Hybrid usa la puerta de enlace de entrada de Apigee para proporcionar la puerta de enlace de entrada híbrida.

Configura la puerta de enlace de entrada de Apigee

Puedes configurar las puertas de enlace 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. See Known issue 243599452.
    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 puerta de enlace entrada. Puede ser cualquier nombre que cumpla con los siguientes requisitos:
    • Tener una longitud máxima de 17 caracteres
    • Contener solo caracteres alfanuméricos en minúscula “.” o “-”.
    • Comenzar 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 son los recuentos de réplicas mínimas y máximas para la puerta de enlace de entrada de Apigee en tu 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 para cada réplica de la puerta de enlace de entrada de Apigee en la 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 son los límites máximos de CPU y memoria para 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):

    Este es un par clave-valor que proporciona anotaciones para tu servicio de entrada predeterminado. La plataforma en la nube usa las anotaciones para configurar tu instalación híbrida, por ejemplo, si estableces el tipo de balanceador de cargas 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 la especificación de la dirección IP del balanceador de cargas, el balanceador de cargas se creará con esta dirección IP. En plataformas que no te permiten especificar la dirección IP del balanceador de cargas, se ignora esta propiedad. Consulta ingressGateways[].svcLoadBalancerIP en la referencia de la propiedad de configuración.

Aplica la configuración de la puerta de enlace de entrada de Apigee

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

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

Tareas de administración

Estas son algunas de las tareas administrativas comunes de la puerta de enlace de entrada de Apigee:

Deja de proporcionar la configuración a ASM

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

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

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

    $APIGEECTL_HOME/apigeectl init -f OVERRIDES_FILE
    

    Consulta ao en la referencia de las propiedades de configuración para obtener más detalles.

  3. Verifica el estado de la implementación con el siguiente comando, ya que el comando anterior reinició el controlador:
    $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
  4. Actualiza virtualhosts. Cada host virtual debe incluir la etiqueta de selector app con el valor app: apigee-ingressgateway. Con este cambio, la puerta de enlace de Anthos Service Mesh no podrá leer la configuración de enrutamiento de Apigee.

    Agrega o reemplaza 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.

Escalamiento de la puerta de enlace de entrada de Apigee:

Actualiza las siguientes propiedades en el archivo de anulación.

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

Consulta ingressGateways en la referencia de las propiedades de configuración para obtener más detalles.

Aplica los cambios con apigeectl apply --org.

Actualiza la asignación de recursos

Actualiza las siguientes propiedades en el archivo de anulación.

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

Consulta ingressGateways en la referencia de las propiedades de configuración para obtener más detalles.

Aplica los cambios con apigeectl apply --org.

Actualiza el servicio de puerta de enlace de entrada de Apigee

Actualiza las siguientes propiedades en el archivo de anulación.

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

Consulta ingressGateways en la referencia de las propiedades de configuración para obtener más detalles.

Aplica los cambios con apigeectl apply --org.

Inhabilita el balanceador de cargas para el servicio de puerta de enlace de entrada de Apigee predeterminado:

Si creas un Service personalizado de Kubernetes para la implementación de tu puerta de enlace de entrada, puedes inhabilitar la creación de un balanceador de cargas en el Service de Kubernetes predeterminado. Actualiza la propiedad ingressGateways[].svcType a ClusterIP en tu archivo de anulaciones. Por ejemplo:

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

Aplica los cambios con apigeectl apply --org.

Configura TLS y mTLS

Consulta Configura TLS y mTLS en la puerta de enlace de entrada.

Habilita clientes que no sean SNI

Consulta Habilita clientes HTTP y sin SNI

Instala puertas de enlace de entrada de Apigee adicionales

En el archivo overrides.yaml, puedes agregar varias puertas de enlace de entrada. La propiedad de configuración ingressGateways es un arreglo. Para obtener más información, consulta ingressGateways.

Por ejemplo:

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

- name: meat
  replicaCountMin: 2
  replicaCountMax: 10

Aplica los cambios con apigeectl apply --org.

Orienta una entrada de Apigee a un host virtual

Puedes orientar una puerta de enlace de entrada de Apigee etiquetada a un host virtual específico en el archivo de anulación. Esta configuración especifica la puerta de enlace de entrada en la que Apigee aplicará la configuración del host virtual. En el siguiente ejemplo, el host virtual spam-vh está configurado para usar la puerta de enlace de entrada etiquetada meat, y los otros dos hosts virtuales usan la puerta de enlace de entrada fruit. Las puertas de enlace de entrada deben estar debidamente etiquetadas, como se explica en Instala puertas de enlace 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 existente de Anthos Service Mesh o Istio en otro espacio de nombres?
Si 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 existente en el clúster. La puerta de enlace de entrada de Apigee no almacena ninguna configuración en apiserver, por lo que no habrá ningún conflicto.
¿Quién es responsable de actualizar los componentes de la puerta de enlace de entrada de Apigee?
La actualización de los componentes de la puerta de enlace de entrada de Apigee se encarga de Apigee y se realiza durante las actualizaciones híbridas y las actualizaciones de parches regulares.
¿Cómo puedo exponer el puerto 80 en la puerta de enlace de entrada de Apigee?
El puerto 80 no es compatible con la puerta de enlace de entrada de Apigee. Si migras de Anthos Service Mesh a la puerta de enlace de entrada de Apigee y seguiste las instrucciones de la entrada de la comunidad para habilitar el puerto 80, no funcionará con la puerta de enlace de entrada de Apigee.