Creación de entradas de Nginx en la consola
Requisitos previos
- Un ingreso proporciona acceso a la red para cargas de trabajo back-end. Asegúrese de que una carga de trabajo esté disponible en un clúster. Si no hay ninguna carga de trabajo disponible, despliegue una carga de trabajo haciendo referencia a Creación de una Deployment, Creación de un StatefulSet o Creación de un DaemonSet.
- Si necesita agregar una entrada de Nginx, asegúrese de que el complemento nginx-ingress se haya instalado en el clúster. Para obtener más información, véase Instalación del complemento.
Precauciones
- No se recomienda modificar ninguna configuración de un balanceador de carga en la consola de ELB. De lo contrario, el Service será anormal. Si ha modificado la configuración, desinstale el complemento nginx-ingress y vuelva a instalarlo.
- El URL registrado en una política de reenvío de ingreso debe ser la misma que la dirección URL utilizada para acceder al Service de backend. De lo contrario, se devolverá un error 404.
- El balanceador de carga seleccionado o creado debe estar en la misma VPC que el clúster actual y debe coincidir con el tipo de balanceador de carga (la red privada o la pública).
- El balanceador de carga tiene al menos dos oyentes, y los puertos 80 y 443 no están ocupados por oyentes.
Creación de un ingreso de Nginx
Esta sección utiliza una carga de trabajo de Nginx como ejemplo para describir cómo crear una entrada de Nginx.
- Inicie sesión en la consola de CCE y acceda a la consola del clúster.
- Elija Networking en el panel de navegación, haga clic en la ficha Ingresses y haga clic en Create Service en la esquina superior derecha.
- Establezca los parámetros de entrada.
- Name: Especifique el nombre de una entrada, por ejemplo, nginx-ingress-demo.
- Namespace: Seleccione el espacio de nombres al que se va a agregar la entrada.
- nginx-ingress: Esta opción solo se muestra cuando el complemento de nginx-ingress se ha instalado en el clúster.
Después de activar , se interconecta nginx-ingress para proporcionar acceso a la capa 7. Puede configurar los siguientes parámetros:
TLS: nginx-ingress soporta HTTP y HTTPS. El puerto de escucha predeterminado reservado durante la instalación de nginx-ingress es 80 para las solicitudes HTTP y 443 para las solicitudes de HTTPS. Para usar HTTPS, debe configurar el certificado de servidor.
- Server Certificate: Al crear un oyente de HTTPS, debe vincular un certificado de TLS para admitir la autenticación cifrada para la transmisión de datos de HTTPS. Para obtener más información sobre cómo crear un secreto, consulte Creación de un secreto.
- SNI: Server Name Indication (SNI) es un protocolo extendido de TLS. Permite proporcionar múltiples nombres de dominio de acceso basados en TLS para sistemas externos que utilizan la misma dirección IP y puerto. Diferentes nombres de dominio pueden utilizar diferentes certificados de seguridad. Después de habilitar el SNI, el cliente puede enviar el nombre de dominio solicitado al iniciar una solicitud de handshake de TLS. Después de recibir la solicitud de TLS, el balanceador de carga busca el certificado basado en el nombre de dominio en la solicitud. Si se encuentra el certificado correspondiente al nombre de dominio, el balanceador de carga devuelve el certificado para la autorización. De lo contrario, se devuelve el certificado predeterminado (certificado de servidor) para la autorización.
- Forwarding Policies: Cuando la dirección de acceso de una solicitud coincide con la política de reenvío (una política de reenvío consiste en un nombre de dominio y un URL), la solicitud se reenvía al Service de destino correspondiente para su procesamiento. Haga clic en Add Forwarding Policies para agregar varias políticas de reenvío.
- Domain Name: nombre de dominio real. Asegúrese de que el nombre de dominio introducido ha sido registrado y archivado. Después de crear la entrada, vincule el nombre de dominio a la dirección IP del balanceador de carga creado automáticamente (dirección IP de la dirección de acceso de entrada). Si se configura una regla de nombre de dominio, siempre se debe usar el nombre de dominio para obtener acceso.
- URL: ruta de acceso a registrar, por ejemplo, /healthz.
- La regla de coincidencia de ruta de acceso de entrada de Nginx se basa en el prefijo de ruta separado por la barra diagonal (/) y distingue entre mayúsculas y minúsculas. Si la ruta secundaria separada por una barra diagonal (/) coincide con el prefijo, el acceso es normal. Sin embargo, si el prefijo es solo una parte de la cadena de caracteres en la ruta secundaria, el acceso no coincide. Por ejemplo, si la dirección URL está establecida en /healthz, /healthz/v1 coincide, pero /healthzv1 no coincide.
- La ruta de acceso agregada aquí debe existir en la aplicación de backend. De lo contrario, el reenvío falla.
Por ejemplo, el URL de acceso predeterminado de la aplicación Nginx es /usr/share/nginx/html. Al agregar /test a la política de reenvío de ingreso, asegúrese de que su aplicación de Nginx contiene el mismo URL, es decir, /usr/share/nginx/html/test, de lo contrario, se devuelve 404.
- Destination Service: Seleccione un Service existente o cree un Service. Los Service que no cumplen los criterios de búsqueda se eliminan automáticamente.
- Destination Service Port: Seleccione el puerto de acceso del Service de destino.
- Operation: Haga clic en Delete para eliminar la configuración.
- Annotation: El valor tiene el formato key:value. Puede utilizar anotaciones para consultar las configuraciones admitidas por nginx-ingress.
- Una vez completada la configuración, haga clic en Create.
Después de crear la entrada, se muestra en la lista de entrada.