Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda/ Cloud Container Engine/ Guía del usuario/ Red/ Ingresos/ Ingresos de Nginx/ Configuración de ingresos de Nginx con anotaciones
Actualización más reciente 2024-09-10 GMT+08:00

Configuración de ingresos de Nginx con anotaciones

El complemento nginx-ingress en CCE utiliza el gráfico y la imagen de la comunidad. Si los parámetros de complemento predeterminados no pueden satisfacer sus demandas, puede agregar anotaciones para definir lo que necesita, como el backend predeterminado, el tiempo de espera y el tamaño del cuerpo de una solicitud.

Esta sección describe las anotaciones comunes utilizadas para crear una entrada del tipo de Nginx.

El valor clave de una anotación solo puede ser una cadena. Otros tipos (como valores Boolean o valores numéricos) deben estar entre comillas (""), por ejemplo, "true", "false" y "100".

Tipo de ingreso

Tabla 1 Anotaciones de tipo de ingreso

Parámetro

Tipo

Descripción

Versión de clúster admitida

kubernetes.io/ingress.class

String

  • nginx: Se utiliza la entrada de Nginx.
  • cce: Se utiliza la entrada de ELB autodesarrollada.

Este parámetro es obligatorio cuando se crea una entrada llamando a la API.

Para los clústeres de v1.23 o posterior, utilice el parámetro ingressClassName. Para obtener más información, véase Uso de kubectl para crear una entrada de Nginx.

Solo clústeres de v1.21 o anteriores

Para obtener más información acerca de cómo utilizar las anotaciones anteriores, vea Uso de kubectl para crear una entrada de Nginx.

Configuración de una regla de reescritura de URL

Tabla 2 Anotaciones de regla de reescritura de URL

Parámetro

Tipo

Descripción

nginx.ingress.kubernetes.io/rewrite-target

String

URI de destino donde el tráfico debe ser redirigido.

nginx.ingress.kubernetes.io/ssl-redirect

Bool

Indica si el acceso solo está disponible con SSL. El valor predeterminado es true cuando la entrada contiene un certificado.

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

Bool

Indica si se debe redirigir a la fuerza una solicitud a HTTPS incluso si TLS no está habilitado para la entrada. Cuando se utiliza HTTP para el acceso, la solicitud se redirige a la fuerza (código de estado 308) a HTTPS.

Para obtener más información sobre los escenarios de la aplicación, consulte Configuración de reglas de reescritura de URL para ingresos de Nginx.

Interconexión con servicios de backend HTTPS

Tabla 3 Anotaciones de interconexión con servicios backend HTTPS

Parámetro

Tipo

Descripción

nginx.ingress.kubernetes.io/backend-protocol

String

Si este parámetro se establece en HTTPS, se utiliza HTTPS para reenviar solicitudes al contenedor de servicio de back-end.

Para obtener más información sobre los escenarios de la aplicación, consulte Interconexión de ingresos de Nginx con servicios de backend HTTPS.

Creación de una regla de hash coherente para balanceo de carga

Tabla 4 Anotación de hash consistente para el balanceo de carga

Parámetro

Tipo

Descripción

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

String

Habilite un hash consistente para equilibrar la carga de los servidores backend. El valor del parámetro puede ser un parámetro de nginx, un valor de texto o cualquier combinación. Por ejemplo:
  • nginx.ingress.kubernetes.io/upstream-hash-by: "$request_uri" indica que las solicitudes son hash basadas en el URI de solicitud.
  • nginx.ingress.kubernetes.io/upstream-hash-by: "$request_uri$host" indica que las solicitudes son hash basadas en el URI de solicitud y el nombre de dominio.
  • nginx.ingress.kubernetes.io/upstream-hash-by: "${request_uri}-text-value" indica que las solicitudes son hash basadas en el URI de solicitud y el valor de texto.

Para obtener más información sobre los escenarios de la aplicación, consulte Ingresos de Nginx usando hashing consistente para el balanceo de carga.

Intervalo de tiempo de espera personalizado

Tabla 5 Anotaciones de intervalo de tiempo de espera personalizadas

Parámetro

Tipo

Descripción

nginx.ingress.kubernetes.io/proxy-connect-timeout

String

Intervalo de tiempo de espera de conexión personalizado. No es necesario ajustar la unidad al establecer el intervalo de tiempo de espera. La unidad predeterminada es la segunda.

Por ejemplo:

nginx.ingress.kubernetes.io/proxy-connect-timeout: '120'

Personalización del tamaño del cuerpo

Tabla 6 Anotaciones de personalización del tamaño del cuerpo

Parámetro

Tipo

Descripción

nginx.ingress.kubernetes.io/proxy-body-size

String

Cuando el tamaño del cuerpo en una solicitud excede el límite superior, el error 413 se devuelve al cliente. Puede utilizar este parámetro para ajustar el límite superior del tamaño del cuerpo.

Por ejemplo:

nginx.ingress.kubernetes.io/proxy-body-size: 8m

Documentación

Para obtener más información sobre los parámetros de anotación admitidos por las entradas de Nginx, consulte Anotaciones.