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
yingressGateways[].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
yingressGateways[].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
yingressGateways[].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.
ConsultaingressGateways[].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:
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 en la referencia de las 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
.
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 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
Agrega conjuntos de cifrado personalizados a las implementaciones de puertas de enlace de entrada de Apigee
Apigee Hybrid admite conjuntos de cifrado TLS v1.2. Si usas TLS v1.0 o v1.1, puedes usar la propiedad virtualhosts.cipherSuites
en tu archivo de anulación para agregar conjuntos de cifrado personalizados a tu implementación de puerta de enlace de entrada de Apigee.
Por ejemplo, para admitir 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" ...
Por ejemplo, para admitir 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" ...
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 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.