Gestionar la pasarela de entrada de Apigee

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 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 la especificación de 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:

helm upgrade ORG_NAME apigee-org/ \
  --namespace apigee \
  --atomic \
  -f OVERRIDES_FILE.yaml

Tareas de gestión

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

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:

helm upgrade ORG_NAME apigee-org/ \
  --namespace apigee \
  --atomic \
  -f OVERRIDES_FILE.yaml

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:

helm upgrade ORG_NAME apigee-org/ \
  --namespace apigee \
  --atomic \
  -f OVERRIDES_FILE.yaml

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:

helm upgrade ORG_NAME apigee-org/ \
  --namespace apigee \
  --atomic \
  -f OVERRIDES_FILE.yaml

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:

helm upgrade ORG_NAME apigee-org/ \
  --namespace apigee \
  --atomic \
  -f OVERRIDES_FILE.yaml

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:

helm upgrade ORG_NAME apigee-org/ \
  --namespace apigee \
  --atomic \
  -f OVERRIDES_FILE.yaml

Asignar hosts virtuales a implementaciones de pasarela de entrada de Apigee

Puedes usar etiquetas de selector para asignar un host virtual a una implementación de gateway de entrada de Apigee. En el ejemplo siguiente, el host virtual spam-vh está configurado para ejecutarse en la pasarela de entrada meat, y los otros dos hosts virtuales se ejecutan en la pasarela de entrada fruit. Las pasarelas de entrada deben etiquetarse correctamente, tal como se explica en Instalar pasarelas adicionales de Cloud 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

    

Añadir conjuntos de cifrado personalizados a las implementaciones de la pasarela de entrada de Apigee

Puede añadir conjuntos de cifrado personalizados a su implementación de pasarela de entrada de Apigee con la propiedad virtualhosts.cipherSuites en su archivo de anulaciones.

Consulta virtualhosts.cipherSuites para ver las suites de cifrado predeterminadas habilitadas en Apigee Hybrid.

Puede habilitar versiones anteriores de TLS con la propiedad virtualhosts.minTLSProtocolVersion y añadir conjuntos de cifrado personalizados a su implementación de la puerta de enlace de entrada de Apigee con la propiedad virtualhosts.cipherSuites en su archivo de anulaciones.

Por ejemplo, para habilitar TLS v.1.1, haz lo siguiente:

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"
  ...

Personalizar los registros de acceso de Ingress

Puedes personalizar el destino y el formato del registro de acceso de la pasarela de entrada de Apigee con las propiedades de configuración istiod.accessLogFile y istiod.accessLogFormat. En el siguiente ejemplo, la salida se enviará a /dev/stdout, que es el valor predeterminado de istiod.accessLogFile:

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

Para inhabilitar el registro de acceso de la puerta de enlace de entrada de Apigee, asigna los valores istiod.accessLogFile y vacío. Por ejemplo:

istiod:
  accessLogFile: ''

Preguntas frecuentes

¿Cómo funciona esto con mi instalación de Cloud Service Mesh o Istio en otro espacio de nombres?
Siempre que Apigee esté instalado en un espacio de nombres específico, la pasarela de entrada de Apigee se puede ejecutar junto con una instalación de Cloud 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 la API, 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 las actualizaciones de los componentes de la pasarela de entrada de Apigee, que se producen durante las actualizaciones periódicas de Hybrid 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 Cloud 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.