Todos los productos
Search
Centro de documentos

Microservices Engine:Annotations supported by MSE Ingress gateways

Última actualización: Sep 17, 2026

Las puertas de enlace MSE Ingress admiten las anotaciones principales y más comunes de las puertas de enlace NGINX Ingress, lo que facilita la migración. Además, proporcionan 40 anotaciones adicionales para la gestión avanzada del tráfico.

Los recursos Ingress estándar de Kubernetes solo gestionan el cifrado Transport Layer Security (TLS) y el enrutamiento HTTP básico de capa 7. Los controladores NGINX Ingress definen por sí solos más de 100 anotaciones personalizadas para cubrir los requisitos reales de gestión de tráfico y seguridad. Las puertas de enlace MSE Ingress son compatibles con las anotaciones de NGINX Ingress más habituales. De este modo, las cargas de trabajo existentes se migran sin necesidad de reescribir las configuraciones de Ingress.

Descripción general

A continuación se muestra una tabla que resume la cobertura de anotaciones.

Cobertura de anotaciones de NGINX Ingress

Categoría

Cantidad

Notas

Compatible

51

Cubre el 90 % de los casos de uso

No requiere configuración

15

La funcionalidad está disponible sin configuración explícita

Planificado

48

Aplica a un número reducido de casos de uso

No compatible

5

Vinculado a fragmentos de código específicos de NGINX

MSE implementa las funciones de manera distinta a NGINX. Las variables de NGINX utilizadas en las anotaciones y los fragmentos de código de NGINX Ingress no son compatibles con sus equivalentes en NGINX.

Cuerpos de solicitud grandes: la anotación nginx.ingress.kubernetes.io/proxy-body-size establece un tamaño máximo de cuerpo de solicitud en NGINX y rechaza cualquier solicitud mayor. En cambio, MSE utiliza codificación de transferencia fragmentada, que gestiona automáticamente los cuerpos grandes sin límite de tamaño. Para establecer límites de búfer en las conexiones ascendentes, configure el parámetro DownstreamConnectionBufferLimits en el panel Parameter Settings de su puerta de enlace MSE.

Redirecciones y variables de NGINX: las variables de NGINX (como $host o $request_uri) dentro de las anotaciones de redirección podrían funcionar en algunas versiones de NGINX Ingress, pero no están documentadas oficialmente. Evite usar variables de NGINX para las redirecciones en NGINX Ingress, ya que no son compatibles con MSE.

Anotaciones exclusivas de MSE

Categoría

Cantidad

Notas

Anotaciones extendidas

40

Añade capacidades de gobernanza de tráfico y protección de seguridad más allá de NGINX Ingress

Alcance de las anotaciones

Cada anotación se aplica en uno de estos tres alcances:

  • Ingress: se aplica a las reglas de enrutamiento definidas en el recurso Ingress.

  • Dominio: se aplica a los nombres de host definidos en el recurso Ingress. También surte efecto en los mismos nombres de host de otros recursos Ingress.

  • Servicio: se aplica a los servicios de backend a los que hace referencia el recurso Ingress. Igualmente, surte efecto en los mismos servicios referenciados por otros recursos Ingress.

Prefijos de las anotaciones

Las anotaciones compatibles con MSE aceptan el prefijo nginx o mse. Por ejemplo, nginx.ingress.kubernetes.io/ssl-redirect y mse.ingress.kubernetes.io/ssl-redirect son equivalentes.

Las anotaciones exclusivas de MSE solo utilizan el prefijo mse. Si reemplaza mse por nginx en estas anotaciones, no tendrán ningún efecto.

Índice de referencia rápida

La siguiente tabla enumera todas las anotaciones compatibles junto con su estado de compatibilidad y categoría. Utilícela para comprobar rápidamente si una anotación específica es compatible antes de consultar los detalles completos más abajo.

Anotación

Estado

Categoría

nginx.ingress.kubernetes.io/canary

Compatible

Versión canary

nginx.ingress.kubernetes.io/canary-by-header

Compatible

Versión canary

nginx.ingress.kubernetes.io/canary-by-header-value

Compatible

Versión canary

nginx.ingress.kubernetes.io/canary-by-header-pattern

Compatible

Versión canary

mse.ingress.kubernetes.io/canary-by-query

Exclusiva de MSE

Versión canary

mse.ingress.kubernetes.io/canary-by-query-value

Exclusiva de MSE

Versión canary

mse.ingress.kubernetes.io/canary-by-query-pattern

Exclusiva de MSE

Versión canary

nginx.ingress.kubernetes.io/canary-by-cookie

Compatible

Versión canary

mse.ingress.kubernetes.io/canary-by-cookie-value

Exclusiva de MSE (V1.2.30+)

Versión canary

nginx.ingress.kubernetes.io/canary-weight

Compatible

Versión canary

nginx.ingress.kubernetes.io/canary-weight-total

Compatible

Versión canary

mse.ingress.kubernetes.io/destination

Exclusiva de MSE

Enrutamiento multiservicio

mse.ingress.kubernetes.io/service-subset

Exclusiva de MSE (V1.2.25+)

Subconjunto de servicio

mse.ingress.kubernetes.io/subset-labels

Exclusiva de MSE (V1.2.25+)

Subconjunto de servicio

nginx.ingress.kubernetes.io/default-backend

Compatible

Servicio de respaldo

nginx.ingress.kubernetes.io/custom-http-errors

Compatible

Servicio de respaldo

nginx.ingress.kubernetes.io/use-regex

Compatible

Coincidencia de rutas con expresiones regulares

nginx.ingress.kubernetes.io/rewrite-target

Compatible

Reescritura de rutas

nginx.ingress.kubernetes.io/upstream-vhost

Compatible

Reescritura de rutas

nginx.ingress.kubernetes.io/ssl-redirect

Compatible

Redirección

nginx.ingress.kubernetes.io/force-ssl-redirect

Compatible

Redirección

nginx.ingress.kubernetes.io/permanent-redirect

Compatible

Redirección

nginx.ingress.kubernetes.io/permanent-redirect-code

Compatible

Redirección

nginx.ingress.kubernetes.io/temporal-redirect

Compatible

Redirección

nginx.ingress.kubernetes.io/app-root

Compatible

Redirección

nginx.ingress.kubernetes.io/enable-cors

Compatible

CORS

nginx.ingress.kubernetes.io/cors-allow-origin

Compatible

CORS

nginx.ingress.kubernetes.io/cors-allow-methods

Compatible

CORS

nginx.ingress.kubernetes.io/cors-allow-headers

Compatible

CORS

nginx.ingress.kubernetes.io/cors-expose-headers

Compatible

CORS

nginx.ingress.kubernetes.io/cors-allow-credentials

Compatible

CORS

nginx.ingress.kubernetes.io/cors-max-age

Compatible

CORS

mse.ingress.kubernetes.io/request-header-control-add

Exclusiva de MSE

Control de encabezados

mse.ingress.kubernetes.io/request-header-control-update

Exclusiva de MSE

Control de encabezados

mse.ingress.kubernetes.io/request-header-control-remove

Exclusiva de MSE

Control de encabezados

mse.ingress.kubernetes.io/response-header-control-add

Exclusiva de MSE

Control de encabezados

mse.ingress.kubernetes.io/response-header-control-update

Exclusiva de MSE

Control de encabezados

mse.ingress.kubernetes.io/response-header-control-remove

Exclusiva de MSE

Control de encabezados

mse.ingress.kubernetes.io/timeout

Exclusiva de MSE

Tiempo de espera

nginx.ingress.kubernetes.io/proxy-next-upstream-tries

Compatible

Reintentos

nginx.ingress.kubernetes.io/proxy-next-upstream-timeout

Compatible

Reintentos

nginx.ingress.kubernetes.io/proxy-next-upstream

Compatible

Reintentos

mse.ingress.kubernetes.io/mirror-target-service

Exclusiva de MSE

Duplicación de tráfico

mse.ingress.kubernetes.io/mirror-percentage

Exclusiva de MSE (V1.2.32+)

Duplicación de tráfico

nginx.ingress.kubernetes.io/server-alias

Parcialmente compatible (V1.2.30+)

Alias de dominio

mse.ingress.kubernetes.io/route-limit-rpm

Exclusiva de MSE

Límite de velocidad (puerta de enlace única, por descontinuar)

mse.ingress.kubernetes.io/route-limit-rps

Exclusiva de MSE

Límite de velocidad (puerta de enlace única, por descontinuar)

mse.ingress.kubernetes.io/route-limit-burst-multiplier

Exclusiva de MSE

Límite de velocidad (puerta de enlace única, por descontinuar)

mse.ingress.kubernetes.io/rate-limit

Exclusiva de MSE (V1.2.25+)

Límite de velocidad (global)

mse.ingress.kubernetes.io/rate-limit-fallback-custom-response-code

Exclusiva de MSE (V1.2.25+)

Límite de velocidad (global)

mse.ingress.kubernetes.io/rate-limit-fallback-custom-response-body-type

Exclusiva de MSE (V1.2.25+)

Límite de velocidad (global)

mse.ingress.kubernetes.io/rate-limit-fallback-custom-response-body

Exclusiva de MSE (V1.2.25+)

Límite de velocidad (global)

mse.ingress.kubernetes.io/rate-limit-fallback-redirect-url

Exclusiva de MSE (V1.2.25+)

Límite de velocidad (global)

mse.ingress.kubernetes.io/concurrency-limit

Exclusiva de MSE (V1.2.25+)

Control de concurrencia

mse.ingress.kubernetes.io/concurrency-limit-fallback-custom-response-code

Exclusiva de MSE (V1.2.25+)

Control de concurrencia

mse.ingress.kubernetes.io/concurrency-limit-fallback-custom-response-body-type

Exclusiva de MSE (V1.2.25+)

Control de concurrencia

mse.ingress.kubernetes.io/concurrency-limit-fallback-custom-response-body

Exclusiva de MSE (V1.2.25+)

Control de concurrencia

mse.ingress.kubernetes.io/concurrency-limit-fallback-redirect-url

Exclusiva de MSE (V1.2.25+)

Control de concurrencia

nginx.ingress.kubernetes.io/backend-protocol

Parcialmente compatible

Protocolo de backend

nginx.ingress.kubernetes.io/load-balance

Parcialmente compatible

Balanceo de carga

nginx.ingress.kubernetes.io/upstream-hash-by

Parcialmente compatible

Balanceo de carga

mse.ingress.kubernetes.io/warmup

Exclusiva de MSE

Calentamiento de servicio

nginx.ingress.kubernetes.io/affinity

Compatible

Afinidad por cookie

nginx.ingress.kubernetes.io/affinity-mode

Parcialmente compatible

Afinidad por cookie

nginx.ingress.kubernetes.io/session-cookie-name

Compatible

Afinidad por cookie

nginx.ingress.kubernetes.io/session-cookie-path

Compatible

Afinidad por cookie

nginx.ingress.kubernetes.io/session-cookie-max-age

Compatible

Afinidad por cookie

nginx.ingress.kubernetes.io/session-cookie-expires

Compatible

Afinidad por cookie

nginx.ingress.kubernetes.io/whitelist-source-range

Compatible

Control de acceso por IP

nginx.ingress.kubernetes.io/denylist-source-range

Compatible (V1.2.31+)

Control de acceso por IP

mse.ingress.kubernetes.io/blacklist-source-range

Exclusiva de MSE

Control de acceso por IP

mse.ingress.kubernetes.io/domain-whitelist-source-range

Exclusiva de MSE

Control de acceso por IP

mse.ingress.kubernetes.io/domain-blacklist-source-range

Exclusiva de MSE

Control de acceso por IP

mse.ingress.kubernetes.io/connection-policy-tcp-max-connection

Exclusiva de MSE

Pool de conexiones

mse.ingress.kubernetes.io/connection-policy-tcp-max-connection-per-endpoint

Exclusiva de MSE

Pool de conexiones

mse.ingress.kubernetes.io/connection-policy-http-max-request-per-connection

Exclusiva de MSE

Pool de conexiones

mse.ingress.kubernetes.io/tls-min-protocol-version

Exclusiva de MSE

TLS (cliente a puerta de enlace)

mse.ingress.kubernetes.io/tls-max-protocol-version

Exclusiva de MSE

TLS (cliente a puerta de enlace)

nginx.ingress.kubernetes.io/ssl-cipher

Compatible

TLS (cliente a puerta de enlace)

mse.ingress.kubernetes.io/auth-tls-secret

Parcialmente compatible

TLS (cliente a puerta de enlace)

nginx.ingress.kubernetes.io/proxy-ssl-secret

Compatible

TLS (puerta de enlace a backend)

nginx.ingress.kubernetes.io/proxy-ssl-name

Compatible

TLS (puerta de enlace a backend)

nginx.ingress.kubernetes.io/proxy-ssl-server-name

Compatible

TLS (puerta de enlace a backend)

nginx.ingress.kubernetes.io/auth-type

Parcialmente compatible

Autenticación

nginx.ingress.kubernetes.io/auth-secret

Compatible

Autenticación

nginx.ingress.kubernetes.io/auth-secret-type

Compatible

Autenticación

nginx.ingress.kubernetes.io/auth-realm

Compatible

Autenticación

Anotaciones compatibles

Gobernanza de tráfico

Versión canary

Anotación

Alcance

Estado de compatibilidad

Descripción

nginx.ingress.kubernetes.io/canary

Ingress

Compatible

Habilita la versión canary para el Ingress.

nginx.ingress.kubernetes.io/canary-by-header

Ingress

Compatible

Divide el tráfico según la clave del encabezado de solicitud.

nginx.ingress.kubernetes.io/canary-by-header-value

Ingress

Compatible

Divide el tráfico según el valor del encabezado de solicitud. Admite coincidencias exactas.

nginx.ingress.kubernetes.io/canary-by-header-pattern

Ingress

Compatible

Divide el tráfico según el valor del encabezado de solicitud. Admite coincidencias mediante expresiones regulares.

mse.ingress.kubernetes.io/canary-by-query

Ingress

Exclusiva de MSE

Divide el tráfico según la clave del parámetro de consulta de la URL.

mse.ingress.kubernetes.io/canary-by-query-value

Ingress

Exclusiva de MSE

Divide el tráfico según el valor del parámetro de consulta de la URL. Admite coincidencias exactas.

mse.ingress.kubernetes.io/canary-by-query-pattern

Ingress

Exclusiva de MSE

Divide el tráfico según el valor del parámetro de consulta de la URL. Admite coincidencias mediante expresiones regulares.

nginx.ingress.kubernetes.io/canary-by-cookie

Ingress

Compatible

Divide el tráfico según la clave de la cookie.

mse.ingress.kubernetes.io/canary-by-cookie-value

Ingress

Exclusiva de MSE (requiere la puerta de enlace V1.2.30 o posterior)

Divide el tráfico según el valor de la cookie. Admite coincidencias exactas.

nginx.ingress.kubernetes.io/canary-weight

Ingress

Compatible

Establece el peso del tráfico para el servicio canary.

nginx.ingress.kubernetes.io/canary-weight-total

Ingress

Compatible

Establece el peso total utilizado en los cálculos de división de tráfico.

Enrutamiento multiservicio

Anotación

Alcance

Estado de compatibilidad

Descripción

mse.ingress.kubernetes.io/destination

Ingress

Exclusiva de MSE

Distribuye el tráfico entre varios servicios por peso.

Sintaxis: {weight}% {serviceName}.{serviceNamespace}.svc.cluster.local:{port}

Al configurar esta anotación, se anulan los servicios de destino de todas las reglas de enrutamiento del Ingress. Si la sintaxis no es válida, la anotación se ignora y las reglas de enrutamiento originales siguen vigentes.

Ejemplo:

annotations:
  # Route 60% of traffic to foo and 40% to bar
  mse.ingress.kubernetes.io/destination: |
    60% foo.default.svc.cluster.local:8080
    40% bar.default.svc.cluster.local:9090

Subconjunto de servicio

Utilice subconjuntos de servicio cuando un único Service de Kubernetes gestione varios despliegues; por ejemplo, una versión estable y una versión canary. Un subconjunto dirige las solicitudes a un grupo específico de pods.

Anotación

Alcance

Estado de compatibilidad

Descripción

mse.ingress.kubernetes.io/service-subset

Ingress

Exclusiva de MSE (requiere la puerta de enlace V1.2.25 o posterior)

Enruta las solicitudes a un subconjunto de pods del servicio de destino. Cuando no se establece mse.ingress.kubernetes.io/subset-labels, el comportamiento de enrutamiento depende del valor de esta anotación: establézcala en "" o base para dirigirse a los pods con opensergo.io/canary: "" o a los pods sin el prefijo de etiqueta opensergo.io/canary; asígnele cualquier otro valor (por ejemplo, gray) para dirigirse a los pods con la etiqueta opensergo.io/canary-gray: gray. Cuando se establece mse.ingress.kubernetes.io/subset-labels, las solicitudes se reenvían únicamente a los pods cuyas etiquetas coincidan con los pares clave-valor definidos allí. Si ninguna etiqueta de pod coincide, las solicitudes se dirigen a todos los pods del servicio como respaldo.

mse.ingress.kubernetes.io/subset-labels

Ingress

Exclusiva de MSE (requiere la puerta de enlace V1.2.25 o posterior)

Opcional. Úsela junto con mse.ingress.kubernetes.io/service-subset para especificar las etiquetas que definen el subconjunto de pods.

Servicio de respaldo

Anotación

Alcance

Estado de compatibilidad

Descripción

nginx.ingress.kubernetes.io/default-backend

Ingress

Compatible

Especifica un servicio de respaldo. Si no hay nodos disponibles para el servicio definido en una regla de Ingress, las solicitudes se reenvían a este servicio.

nginx.ingress.kubernetes.io/custom-http-errors

Ingress

Compatible

Funciona junto con nginx.ingress.kubernetes.io/default-backend. Cuando un backend devuelve uno de los códigos de estado HTTP especificados, la solicitud se reenvía al servicio de respaldo y la ruta se reescribe como /.

Coincidencia de rutas con expresiones regulares

Anotación

Alcance

Estado de compatibilidad

Descripción

nginx.ingress.kubernetes.io/use-regex

Ingress

Compatible

Habilita la coincidencia mediante expresiones regulares para la ruta definida en la regla de Ingress. Utiliza la sintaxis RE2.

Reescritura de rutas

Anotación

Alcance

Estado de compatibilidad

Descripción

nginx.ingress.kubernetes.io/rewrite-target

Ingress

Compatible

Reescribe la ruta de la solicitud antes de reenviarla al backend. Admite grupos de captura.

nginx.ingress.kubernetes.io/upstream-vhost

Ingress

Compatible

Reescribe el encabezado Host con el valor especificado al reenviar solicitudes al backend.

Redirección

Anotación

Alcance

Estado de compatibilidad

Descripción

nginx.ingress.kubernetes.io/ssl-redirect

Ingress

Compatible

Redirige las solicitudes HTTP a HTTPS.

nginx.ingress.kubernetes.io/force-ssl-redirect

Ingress

Compatible

Fuerza la redirección de las solicitudes HTTP a HTTPS.

nginx.ingress.kubernetes.io/permanent-redirect

Ingress

Compatible

Redirige las solicitudes a la URL especificada mediante una redirección permanente.

nginx.ingress.kubernetes.io/permanent-redirect-code

Ingress

Compatible

Establece el código de estado HTTP para las redirecciones permanentes.

nginx.ingress.kubernetes.io/temporal-redirect

Ingress

Compatible

Redirige las solicitudes a la URL especificada mediante una redirección temporal.

nginx.ingress.kubernetes.io/app-root

Ingress

Compatible

Redirige las solicitudes desde / hacia la ruta raíz de la aplicación especificada.

Intercambio de recursos de origen cruzado (CORS)

Anotación

Alcance

Estado de compatibilidad

Descripción

nginx.ingress.kubernetes.io/enable-cors

Ingress

Compatible

Habilita el intercambio de recursos de origen cruzado (CORS).

nginx.ingress.kubernetes.io/cors-allow-origin

Ingress

Compatible

Establece los orígenes permitidos para las solicitudes CORS.

nginx.ingress.kubernetes.io/cors-allow-methods

Ingress

Compatible

Establece los métodos HTTP permitidos para las solicitudes CORS, como GET, POST y PUT.

nginx.ingress.kubernetes.io/cors-allow-headers

Ingress

Compatible

Establece los encabezados de solicitud permitidos para las solicitudes CORS.

nginx.ingress.kubernetes.io/cors-expose-headers

Ingress

Compatible

Establece los encabezados de respuesta expuestos a los navegadores en las respuestas CORS.

nginx.ingress.kubernetes.io/cors-allow-credentials

Ingress

Compatible

Especifica si se pueden incluir credenciales en las solicitudes CORS.

nginx.ingress.kubernetes.io/cors-max-age

Ingress

Compatible

Establece la duración durante la cual se almacenan en caché los resultados de las solicitudes preflight.

Control de encabezados

Las anotaciones de control de encabezados en las rutas base y en las rutas canary son independientes y se validan por separado. Configure distintas políticas de encabezados para el tráfico de la ruta base y el de la ruta canary según lo requiera.

Anotación

Alcance

Estado de compatibilidad

Descripción

mse.ingress.kubernetes.io/request-header-control-add

Ingress

Exclusiva de MSE

Añade un encabezado a las solicitudes antes de reenviarlas al backend. Si el encabezado ya existe, el nuevo valor se anexa al original. Para un solo encabezado, utilice un par clave-valor. Para varios encabezados, use un bloque literal YAML (`

`) con un par clave-valor por línea.

mse.ingress.kubernetes.io/request-header-control-update

Ingress

Exclusiva de MSE

Modifica un encabezado en las solicitudes antes de reenviarlas al backend. Si el encabezado existe, el nuevo valor sobrescribe al original. Utiliza la misma sintaxis que request-header-control-add.

mse.ingress.kubernetes.io/request-header-control-remove

Ingress

Exclusiva de MSE

Elimina encabezados de las solicitudes antes de reenviarlas al backend. Para un solo encabezado, especifique la clave. Para varios encabezados, separe las claves con comas.

mse.ingress.kubernetes.io/response-header-control-add

Ingress

Exclusiva de MSE

Añade un encabezado a las respuestas antes de reenviarlas al cliente. Si el encabezado ya existe, el nuevo valor se anexa al original. Utiliza la misma sintaxis que request-header-control-add.

mse.ingress.kubernetes.io/response-header-control-update

Ingress

Exclusiva de MSE

Modifica un encabezado en las respuestas antes de reenviarlas al cliente. Si el encabezado existe, el nuevo valor sobrescribe al original. Utiliza la misma sintaxis que request-header-control-add.

mse.ingress.kubernetes.io/response-header-control-remove

Ingress

Exclusiva de MSE

Elimina encabezados de las respuestas antes de reenviarlas al cliente. Para un solo encabezado, especifique la clave. Para varios encabezados, separe las claves con comas.

Tiempo de espera

Anotación

Alcance

Estado de compatibilidad

Descripción

mse.ingress.kubernetes.io/timeout

Ingress

Exclusiva de MSE

Establece el tiempo de espera de la solicitud en segundos. De forma predeterminada, no se aplica ningún tiempo de espera. Se aplica en la capa de aplicación, no en la capa de transporte TCP.

Reintentos

Anotación

Alcance

Estado de compatibilidad

Descripción

nginx.ingress.kubernetes.io/proxy-next-upstream-tries

Ingress

Compatible

Establece el número máximo de intentos de reintento. Valor predeterminado: 3.

nginx.ingress.kubernetes.io/proxy-next-upstream-timeout

Ingress

Compatible

Establece el tiempo de espera para los intentos de reintento en segundos. De forma predeterminada, no se aplica ningún tiempo de espera.

nginx.ingress.kubernetes.io/proxy-next-upstream

Ingress

Compatible

Establece las condiciones que activan un reintento. Consulte el mecanismo de reintentos de NGINX para conocer los valores compatibles.

Duplicación de tráfico

Anotación

Alcance

Estado de compatibilidad

Descripción

mse.ingress.kubernetes.io/mirror-target-service

Ingress

Exclusiva de MSE

Reenvía una copia del tráfico entrante al servicio especificado. Formato: namespace/name:port. El valor de namespace toma de forma predeterminada el namespace de la puerta de enlace Ingress. El valor de port toma de forma predeterminada el primer puerto del servicio.

mse.ingress.kubernetes.io/mirror-percentage

Ingress

Exclusiva de MSE (requiere la puerta de enlace V1.2.32 o posterior)

Establece el porcentaje de tráfico que se va a duplicar. Valores válidos: de 0 a 100. Valor predeterminado: 100.

Alias de dominio

Anotación

Alcance

Estado de compatibilidad

Descripción

nginx.ingress.kubernetes.io/server-alias

Dominio

Parcialmente compatible: solo dominios de coincidencia exacta y dominios comodín (requiere la puerta de enlace V1.2.30 o posterior)

Define un alias de dominio para el nombre de host en la especificación del Ingress. El alias hereda la configuración de TLS, enrutamiento y gobernanza de tráfico del dominio de origen.

Límite de velocidad (puerta de enlace única, por descontinuar)

Cuando se activa la limitación, el cuerpo de la respuesta es local_rate_limited. El código de estado de la respuesta depende de la versión de la puerta de enlace: las versiones anteriores a la V1.2.23 devuelven 503, mientras que la V1.2.23 y posteriores devuelven 429.

Anotación

Alcance

Estado de compatibilidad

Descripción

mse.ingress.kubernetes.io/route-limit-rpm

Ingress

Exclusiva de MSE

Establece el máximo de solicitudes por minuto (RPM) en una ruta. El límite de ráfaga equivale a este valor multiplicado por mse.ingress.kubernetes.io/route-limit-burst-multiplier.

mse.ingress.kubernetes.io/route-limit-rps

Ingress

Exclusiva de MSE

Establece el máximo de solicitudes por segundo (RPS) en una ruta. El límite de ráfaga equivale a este valor multiplicado por mse.ingress.kubernetes.io/route-limit-burst-multiplier.

mse.ingress.kubernetes.io/route-limit-burst-multiplier

Ingress

Exclusiva de MSE

Establece el multiplicador del límite de ráfaga. Valor predeterminado: 5.

Límite de velocidad (global, recomendado)

Anotación

Alcance

Estado de compatibilidad

Descripción

mse.ingress.kubernetes.io/rate-limit

Ingress

Exclusiva de MSE (requiere la puerta de enlace V1.2.25 o posterior)

Establece el máximo de RPS para el límite de velocidad global en una ruta.

mse.ingress.kubernetes.io/rate-limit-fallback-custom-response-code

Ingress

Exclusiva de MSE (requiere la puerta de enlace V1.2.25 o posterior)

Establece el código de respuesta HTTP que se devuelve cuando se activa el límite de velocidad. Valor predeterminado: 429. Es mutuamente excluyente con mse.ingress.kubernetes.io/rate-limit-fallback-redirect-url.

mse.ingress.kubernetes.io/rate-limit-fallback-custom-response-body-type

Ingress

Exclusiva de MSE (requiere la puerta de enlace V1.2.25 o posterior)

Establece el formato del cuerpo de respuesta del límite de velocidad. Valor predeterminado: text. Si establece text, se devuelve Content-Type: text/plain; charset=UTF-8. Si establece JSON, se devuelve Content-Type: application/json; charset=UTF-8.

mse.ingress.kubernetes.io/rate-limit-fallback-custom-response-body

Ingress

Exclusiva de MSE (requiere la puerta de enlace V1.2.25 o posterior)

Establece el contenido del cuerpo de respuesta del límite de velocidad. Valor predeterminado: sentinel rate limited.

mse.ingress.kubernetes.io/rate-limit-fallback-redirect-url

Ingress

Exclusiva de MSE (requiere la puerta de enlace V1.2.25 o posterior)

Redirige las solicitudes a la URL especificada cuando se activa el límite de velocidad. Es mutuamente excluyente con mse.ingress.kubernetes.io/rate-limit-fallback-custom-response-code.

Control de concurrencia (global)

Anotación

Alcance

Estado de compatibilidad

Descripción

mse.ingress.kubernetes.io/concurrency-limit

Ingress

Exclusiva de MSE (requiere la puerta de enlace V1.2.25 o posterior)

Establece el número máximo de solicitudes simultáneas en una ruta.

mse.ingress.kubernetes.io/concurrency-limit-fallback-custom-response-code

Ingress

Exclusiva de MSE (requiere la puerta de enlace V1.2.25 o posterior)

Establece el código de respuesta HTTP cuando se activa el control de concurrencia. Valor predeterminado: 429. Es mutuamente excluyente con mse.ingress.kubernetes.io/concurrency-limit-fallback-redirect-url.

mse.ingress.kubernetes.io/concurrency-limit-fallback-custom-response-body-type

Ingress

Exclusiva de MSE (requiere la puerta de enlace V1.2.25 o posterior)

Establece el formato del cuerpo de respuesta del límite de concurrencia. Valor predeterminado: text. Si establece text, se devuelve Content-Type: text/plain; charset=UTF-8. Si establece JSON, se devuelve Content-Type: application/json; charset=UTF-8.

mse.ingress.kubernetes.io/concurrency-limit-fallback-custom-response-body

Ingress

Exclusiva de MSE (requiere la puerta de enlace V1.2.25 o posterior)

Establece el contenido del cuerpo de respuesta del límite de concurrencia. Valor predeterminado: sentinel rate limited.

mse.ingress.kubernetes.io/concurrency-limit-fallback-redirect-url

Ingress

Exclusiva de MSE (requiere la puerta de enlace V1.2.25 o posterior)

Redirige las solicitudes a la URL especificada cuando se activa el control de concurrencia. Es mutuamente excluyente con mse.ingress.kubernetes.io/concurrency-limit-fallback-custom-response-code.

Protocolo de backend

Anotación

Alcance

Estado de compatibilidad

Descripción

nginx.ingress.kubernetes.io/backend-protocol

Servicio

Parcialmente compatible: AJP y FCGI no son compatibles

Establece el protocolo utilizado para comunicarse con los servicios de backend. Valor predeterminado: HTTP. Valores compatibles: HTTP, HTTP2, HTTPS, gRPC, gRPCS.

Balanceo de carga

Anotación

Alcance

Estado de compatibilidad

Descripción

nginx.ingress.kubernetes.io/load-balance

Servicio

Parcialmente compatible: el algoritmo Exponentially Weighted Moving Average (EWMA) no es compatible y recurre a round-robin

Establece el algoritmo de balanceo de carga. Valor predeterminado: round_robin. Valores compatibles: round_robin, least_conn, random.

nginx.ingress.kubernetes.io/upstream-hash-by

Servicio

Parcialmente compatible: no se admite combinar variables de NGINX con constantes

Habilita el hash consistente. Tipos de clave de hash compatibles: $request_uri (ruta de la solicitud, incluidos los parámetros de ruta), $host (nombre de host de la solicitud), $remote_addr (dirección IP del cliente), $http_<headerName> (valor del encabezado de solicitud), $arg_<varName> (valor del parámetro de consulta de la URL).

Calentamiento de servicio (inicio gradual)

Anotación

Alcance

Estado de compatibilidad

Descripción

mse.ingress.kubernetes.io/warmup

Servicio

Exclusiva de MSE

Establece la duración del calentamiento en segundos. Está deshabilitada de forma predeterminada. Solo es compatible con los algoritmos de balanceo de carga round_robin y least_conn.

Afinidad por cookie

Anotación

Alcance

Estado de compatibilidad

Descripción

nginx.ingress.kubernetes.io/affinity

Servicio

Compatible

Establece el tipo de afinidad. El único valor válido es cookie.

nginx.ingress.kubernetes.io/affinity-mode

Servicio

Parcialmente compatible: el modo persistent no es compatible

Establece el modo de afinidad. El único valor válido es balanced.

nginx.ingress.kubernetes.io/session-cookie-name

Servicio

Compatible

Establece el nombre de la cookie utilizada como clave de hash para la afinidad de sesión.

nginx.ingress.kubernetes.io/session-cookie-path

Servicio

Compatible

Establece el atributo de ruta de la cookie de sesión generada. Valor predeterminado: /.

nginx.ingress.kubernetes.io/session-cookie-max-age

Servicio

Compatible

Establece el valor Max-Age de la cookie de sesión generada, en segundos. De forma predeterminada, caduca al nivel de sesión.

nginx.ingress.kubernetes.io/session-cookie-expires

Servicio

Compatible

Establece el atributo Expires de la cookie de sesión generada, en segundos. De forma predeterminada, caduca al nivel de sesión.

Control de acceso basado en direcciones IP

Las listas de permitidos a nivel de ruta tienen prioridad sobre las listas de permitidos a nivel de dominio. Las listas de bloqueo a nivel de ruta tienen prioridad sobre las listas de bloqueo a nivel de dominio.

Anotación

Alcance

Estado de compatibilidad

Descripción

nginx.ingress.kubernetes.io/whitelist-source-range

Ingress

Compatible

Establece una lista de direcciones IP permitidas para la ruta. Acepta direcciones IP y bloques CIDR separados por comas.

nginx.ingress.kubernetes.io/denylist-source-range

Ingress

Compatible (requiere la puerta de enlace V1.2.31 o posterior)

Establece una lista de direcciones IP bloqueadas para la ruta. Acepta direcciones IP y bloques CIDR separados por comas. Tiene prioridad sobre mse.ingress.kubernetes.io/blacklist-source-range.

mse.ingress.kubernetes.io/blacklist-source-range

Ingress

Exclusiva de MSE

Establece una lista de direcciones IP bloqueadas para la ruta. Acepta direcciones IP y bloques CIDR separados por comas.

mse.ingress.kubernetes.io/domain-whitelist-source-range

Ingress

Exclusiva de MSE

Establece una lista de direcciones IP permitidas a nivel de dominio. Acepta direcciones IP y bloques CIDR separados por comas.

mse.ingress.kubernetes.io/domain-blacklist-source-range

Ingress

Exclusiva de MSE

Establece una lista de direcciones IP bloqueadas a nivel de dominio. Acepta direcciones IP y bloques CIDR separados por comas.

Pool de conexiones (de la puerta de enlace al backend)

Anotación

Alcance

Estado de compatibilidad

Descripción

mse.ingress.kubernetes.io/connection-policy-tcp-max-connection

Servicio

Exclusiva de MSE

Establece el número máximo de conexiones TCP entre la puerta de enlace y el servicio de backend.

mse.ingress.kubernetes.io/connection-policy-tcp-max-connection-per-endpoint

Servicio

Exclusiva de MSE

Establece el número máximo de conexiones TCP entre la puerta de enlace y un único pod de backend.

mse.ingress.kubernetes.io/connection-policy-http-max-request-per-connection

Servicio

Exclusiva de MSE

Establece el número máximo de solicitudes HTTP por conexión entre la puerta de enlace y el servicio de backend.

Protección de seguridad

TLS entre los clientes y la puerta de enlace

Anotación

Alcance

Estado de compatibilidad

Descripción

mse.ingress.kubernetes.io/tls-min-protocol-version

Dominio

Exclusivo de MSE

Establece la versión mínima de TLS. Valor predeterminado: TLSv1.0. Valores válidos: TLSv1.0, TLSv1.1, TLSv1.2, TLSv1.3.

mse.ingress.kubernetes.io/tls-max-protocol-version

Dominio

Exclusivo de MSE

Establece la versión máxima de TLS. Valor predeterminado: TLSv1.3. Valores válidos: TLSv1.0, TLSv1.1, TLSv1.2, TLSv1.3.

nginx.ingress.kubernetes.io/ssl-cipher

Dominio

Compatible

Define los conjuntos de cifrado TLS, separados por comas. Solo surte efecto en los handshakes de TLS 1.0 a 1.2. Conjuntos de cifrado predeterminados: ECDHE-ECDSA-AES128-GCM-SHA256, ECDHE-RSA-AES128-GCM-SHA256, ECDHE-ECDSA-AES128-SHA, ECDHE-RSA-AES128-SHA, AES128-GCM-SHA256, AES128-SHA, ECDHE-ECDSA-AES256-GCM-SHA384, ECDHE-RSA-AES256-GCM-SHA384, ECDHE-ECDSA-AES256-SHA, ECDHE-RSA-AES256-SHA, AES256-GCM-SHA384, AES256-SHA.

mse.ingress.kubernetes.io/auth-tls-secret

Dominio

Parcialmente compatible: el nombre del secret debe seguir el formato <domain-certificate-secret-name>-cacert

Especifica el certificado de CA que utiliza la puerta de enlace para comprobar los certificados de cliente durante los handshakes de TLS mutuo (mTLS).

TLS entre la puerta de enlace y los servicios de backend

Anotación

Alcance

Estado de compatibilidad

Descripción

nginx.ingress.kubernetes.io/proxy-ssl-secret

Servicio

Compatible

Indica el certificado de cliente que presenta la puerta de enlace a los servicios de backend durante los handshakes de TLS.

nginx.ingress.kubernetes.io/proxy-ssl-name

Servicio

Compatible

Configura el valor de Server Name Indication (SNI) utilizado durante el handshake de TLS con el backend.

nginx.ingress.kubernetes.io/proxy-ssl-server-name

Servicio

Compatible

Habilita o deshabilita SNI durante el handshake de TLS con el backend.

Autenticación

Autenticación básica

Anotación

Alcance

Estado de compatibilidad

Descripción

nginx.ingress.kubernetes.io/auth-type

Ingress

Parcialmente compatible: solo se admite la autenticación basic

Define el tipo de autenticación.

nginx.ingress.kubernetes.io/auth-secret

Ingress

Compatible

Especifica el secret que contiene las credenciales de la ruta. Formato: <namespace>/<name>.

nginx.ingress.kubernetes.io/auth-secret-type

Ingress

Compatible

Establece el formato de los datos del secret. auth-file: la clave auth almacena pares username:password separados por saltos de línea. auth-map: cada clave representa un nombre de usuario y su valor corresponde a la contraseña.

nginx.ingress.kubernetes.io/auth-realm

Ingress

Compatible

Configura el realm de autenticación. Las credenciales se comparten dentro de un mismo realm.

Para consultar la lista completa de anotaciones de NGINX Ingress, consulte Anotaciones.