MSE Ingress es totalmente compatible con NGINX Ingress y ofrece el doble de rendimiento que las puertas de enlace Ingress autogestionadas de código abierto. Las puertas de enlace MSE Ingress cuentan con certificación de madurez de seguridad líder en la industria otorgada por CAICT, y proporcionan bajo costo, seguridad, alta integración y alta disponibilidad. Este tema describe cómo acceder a servicios de contenedores y a Container Compute Service mediante un MSE Ingress.
Por motivos de seguridad, las puertas de enlace MSE Ingress no pueden exponer servicios en el namespace kube-system.
Requisitos previos
Asegúrese de contar con lo siguiente:
Un clúster administrado ACK, un clúster ACK Serverless o un clúster ACS que ejecute Kubernetes V1.18 o posterior. Crear un clúster administrado ACK, Crear un clúster ACK Serverless o Crear un clúster ACS. Actualice si utiliza una versión anterior.
-
Permisos de RAM otorgados a MSE Ingress Controller:
Clúster administrado ACK o clúster ACK Serverless: Otorgar permisos
Clúster ACS: Otorgar permisos
Consideraciones:
Si antes de instalar MSE Ingress Controller ya existe un recurso IngressClass llamado
mseen su clúster, la puerta de enlace y el recurso MseIngressConfig no se crean automáticamente durante la instalación.En el modo de nueva instalación, al instalar MSE Ingress Controller se crea un recurso MseIngressConfig cuyo ciclo de vida está vinculado a la instancia de puerta de enlace nativa para la nube de MSE. Si elimina el recurso MseIngressConfig, también se elimina en cascada la puerta de enlace nativa para la nube de MSE asociada. No elimine recursos MseIngressConfig a menos que se le indique expresamente.
Paso 1: Instalar MSE Ingress Controller
Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters.
En la página Clusters, localice el clúster objetivo y haga clic en su nombre. En el panel de navegación izquierdo, haga clic en Add-ons.
-
En la página Add-ons, busque
msey haga clic en Install en la tarjeta MSE Ingress Controller.
En el cuadro de diálogo Install MSE Ingress Controller, cree o seleccione una puerta de enlace nativa para la nube y haga clic en OK. Si las comprobaciones previas fallan, autorice a MSE Ingress Controller para acceder a MSE.
-
Después de la instalación, se crean automáticamente un recurso MseIngressConfig y una puerta de enlace nativa para la nube, ambos con el nombre
mse-ingress-premium-{clusterid}. Para comprobar el estado de la puerta de enlace, vaya a la página de detalles del clúster y seleccione Workloads > Deployments > Custom Resources. En la pestaña Resource Objects, busquemseen la sección API Group. Espere entre 3 y 5 minutos a que el campophasealcance el estado Listening antes de continuar. Verifique desde la línea de comandos:Estado
Descripción
Pending
La puerta de enlace se está creando. Espere aproximadamente 3 minutos.
Running
La puerta de enlace está creada y en ejecución.
Listening
La puerta de enlace está en ejecución y escuchando recursos Ingress.
Failed
La puerta de enlace se encuentra en un estado no válido. Consulte el campo
MessageenStatuspara identificar la causa.kubectl get mseingressconfig -ALa puerta de enlace estará lista cuando la columna
PHASEmuestreListening.
-
Inicie sesión en la consola de MSE para confirmar que existe una puerta de enlace nativa para la nube llamada
mse-ingress-premium-{clusterid}en su región.
Paso 2: Desplegar un servicio de backend
Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters.
En la página Clusters, localice el clúster objetivo y haga clic en su nombre. En el panel de navegación izquierdo, seleccione Workloads > Deployments.
-
En la página Deployments, haga clic en Create from YAML y aplique el siguiente manifiesto para desplegar el Deployment y el Service
httpbin:apiVersion: apps/v1 kind: Deployment metadata: name: httpbin namespace: default spec: replicas: 1 selector: matchLabels: app: httpbin template: metadata: labels: app: httpbin version: v1 spec: containers: - image: registry.cn-hangzhou.aliyuncs.com/mse-ingress/go-httpbin args: - "--version=v1" imagePullPolicy: Always name: httpbin --- apiVersion: v1 kind: Service metadata: name: httpbin namespace: default spec: ports: - port: 8080 protocol: TCP selector: app: httpbinCompruebe que el Deployment se esté ejecutando:
kubectl get deployment httpbin -n defaultSalida esperada:
NAME READY UP-TO-DATE AVAILABLE AGE httpbin 1/1 1 1 30s
Paso 3: Configurar una ruta de MSE Ingress
Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters.
En la página Clusters, localice el clúster objetivo y haga clic en su nombre. En el panel de navegación izquierdo, seleccione Network > Ingresses.
En la página Ingresses, haga clic en Create Ingress.
-
En el cuadro de diálogo Create Ingress, establezca Gateway Type como MSE Ingress y configure la ruta. Haga clic en OK.
Establezca Ingress Class como
mse.En Rule, seleccione Prefix (Prefix-based Match).
Establezca Path como
/.Establezca Service como
httpbin.

-
Inicie sesión en la consola de MSE para confirmar que se configuró una ruta que contiene
httpbin. Verifique desde la línea de comandos:kubectl get ingress -n defaultSalida esperada:
NAME CLASS HOSTS ADDRESS PORTS AGE httpbin mse * nlb-b4ewsj2******.cn-hangzhou.nlb.aliyuncsslb.com 80 30s
Paso 4: Acceder al servicio
Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters.
En la página Clusters, localice el clúster objetivo y haga clic en su nombre. En el panel de navegación izquierdo, seleccione Network > Ingresses.
-
En la página Ingresses, localice el endpoint del Ingress en la columna Address. La columna Address muestra la dirección del load balancer NLB asignada automáticamente, que corresponde al endpoint de acceso para MSE Ingress.

-
Acceda al servicio mediante el nombre de dominio NLB o la IP pública de la puerta de enlace. Por ejemplo:
curl http://nlb-b4ewsj2******.cn-hangzhou.nlb.aliyuncsslb.com/versionUna respuesta exitosa confirma que el servicio es accesible.

Siguientes pasos
Enrutamiento avanzado: Configure anotaciones de Ingress para habilitar división de tráfico, despliegues canary y reescritura de solicitudes.
Terminación TLS: Configure un certificado en la puerta de enlace nativa para la nube de MSE para HTTPS.
Monitoreo: Consulte las métricas de la puerta de enlace y los registros de acceso en la consola de MSE.
Limpieza: Elimine el Deployment, Service e Ingress
httpbindesde la consola de ACK, o ejecutekubectl delete deployment,service,ingress httpbin -n default.