Administra la puerta de enlace de entrada de Apigee

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. Tu plataforma en la nube usa 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:

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

Tareas de administración

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

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:

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

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:

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

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:

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

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:

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

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:

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

Asigna hosts virtuales a implementaciones de puerta de enlace de entrada de Apigee

Puedes usar etiquetas de selector para asignar un host virtual a una implementación de puerta de enlace de entrada de Apigee. En el siguiente ejemplo, el host virtual spam-vh está configurado para ejecutarse en la puerta de enlace de entrada etiquetada como meat, y los otros dos hosts virtuales se ejecutan en 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 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

    

Agrega conjuntos de cifrado personalizados a las implementaciones de puertas de enlace de entrada de Apigee

Puedes agregar conjuntos de cifrado personalizados a tu implementación de puerta de enlace de entrada de Apigee con la propiedad virtualhosts.cipherSuites en tu archivo de anulaciones.

Consulta virtualhosts.cipherSuites para ver los conjuntos de cifrado predeterminados habilitados en Apigee Hybrid.

Puedes habilitar versiones anteriores de TLS con la propiedad virtualhosts.minTLSProtocolVersion y agregar conjuntos de cifrado personalizados a la implementación de la puerta de enlace de entrada de Apigee con la propiedad virtualhosts.cipherSuites en el archivo de anulación.

Por ejemplo, para habilitar TLS v.1.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"
  ...

Personaliza los registros de acceso de entrada

Puedes personalizar el destino y el formato del registro de acceso de la puerta de enlace de entrada de Apigee con las propiedades de configuración istiod.accessLogFile y istiod.accessLogFormat. En el siguiente ejemplo, el resultado se enviará a /dev/stdout, que es el valor predeterminado para 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 istiod.accessLogFile y un valor vacío. Por ejemplo:

istiod:
  accessLogFile: ''

Preguntas frecuentes

¿Cómo funciona esto con mi instalación existente de Cloud 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 Cloud 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?
Apigee se encarga de las actualizaciones a los componentes de la puerta de enlace de entrada de Apigee que se producen durante las actualizaciones híbridas regulares y las versiones de parches.
¿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 Cloud 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.