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:
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.
-
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
- 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
-
Actualiza
virtualhosts
. Cada host virtual debe incluir la etiqueta de selectorapp
con el valorapp: 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.
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.
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
.
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.