All Products
Search
Document Center

Container Service for Kubernetes:Access container services through an MSE Ingress

Last Updated:Mar 26, 2026

MSE Ingress gateways are Higress Enterprise Edition gateways fully compatible with NGINX Ingress. Compared with open source self-managed Ingress gateways, the performance of MSE Ingress gateways is doubled. MSE Ingress gateways are certified by the China Academy of Information and Communications Technology (CAICT) based on security maturity. They provide the advantages of low cost, security protection, high integration, and high availability. This topic walks you through installing MSE Ingress Controller, deploying a backend service, and routing external traffic to it.

Important

MSE Ingress gateways cannot expose services in the kube-system namespace.

Prerequisites

Before you begin, ensure that you have:

Considerations:

  • If an IngressClass resource named mse already exists in your cluster before you install MSE Ingress Controller, the gateway and the associated MseIngressConfig resource are not automatically created during installation.

  • Deleting an MseIngressConfig resource also deletes the associated MSE cloud-native gateway instance. Do not delete MseIngressConfig resources unless instructed to do so.

Step 1: Install MSE Ingress Controller

  1. Log on to the ACK console. In the left-side navigation pane, click Clusters.

  2. On the Clusters page, find the cluster you want and click its name. In the left-side navigation pane, click Add-ons.

  3. On the Add-ons page, enter mse in the search box, and click Install in the MSE Ingress Controller resource card.

    image

  4. In the Install MSE Ingress Controller dialog box, configure the parameters and click OK. Create a new cloud-native gateway or select an existing one. If preflight checks fail during installation, authorize MSE Ingress Controller to access MSE.

  5. After installation, the system automatically creates an MseIngressConfig resource and a cloud-native gateway, both named mse-ingress-premium-{clusterid}. To check the gateway status, go to the cluster detail page and choose Workloads > Deployments > Custom Resources. On the Resource Objects tab, search for mse in the API Group section to find the MseIngressConfig resource. Gateway statuses progress in the following order: Wait 3–5 minutes for the phase field to change to Listening before proceeding. To verify from the command line, run:

    Status Description
    Pending The cloud-native gateway is being created. Wait about 3 minutes.
    Running The cloud-native gateway is created and running.
    Listening The cloud-native gateway is running and listening to Ingress resources in the cluster.
    Failed The cloud-native gateway is in an invalid state. Check the Message field in Status for the cause.
    kubectl get mseingressconfig -A

    The gateway is ready when the PHASE column shows Listening.

    image.png

  6. Log on to the MSE console to confirm that a cloud-native gateway named mse-ingress-premium-{clusterid} is created in your region.

    image

Step 2: Deploy a backend service

  1. Log on to the ACK console. In the left-side navigation pane, click Clusters.

  2. On the Clusters page, find the cluster you want and click its name. In the left-side navigation pane, choose Workloads > Deployments.

  3. On the Deployments page, click Create from YAML and apply the following manifest to deploy a Deployment and a Service named 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: httpbin

    To verify the Deployment is running, run:

    kubectl get deployment httpbin -n default

    The expected output is similar to:

    NAME      READY   UP-TO-DATE   AVAILABLE   AGE
    httpbin   1/1     1            1           30s

Step 3: Configure an MSE Ingress route

  1. Log on to the ACK console. In the left-side navigation pane, click Clusters.

  2. On the Clusters page, find the cluster you want and click its name. In the left-side navigation pane, choose Network > Ingresses.

  3. On the Ingresses page, click Create Ingress.

  4. In the Create Ingress dialog box, set Gateway Type to MSE Ingress and configure the route: Click OK.

    • Set Ingress Class to mse.

    • Under Rule, select Prefix (Prefix-based Match) from the drop-down list.

    • Set Path to /.

    • Set Service to httpbin.

    image.png

  5. Log on to the MSE console to confirm a route containing httpbin is configured for the cloud-native gateway. To verify from the command line, run:

    kubectl get ingress -n default

    The expected output is similar to:

    NAME      CLASS   HOSTS   ADDRESS                                               PORTS   AGE
    httpbin   mse     *       nlb-b4ewsj2******.cn-hangzhou.nlb.aliyuncsslb.com    80      30s

    image.png

Step 4: Access the service

  1. Log on to the ACK console. In the left-side navigation pane, click Clusters.

  2. On the Clusters page, find the cluster you want and click its name. In the left-side navigation pane, choose Network > Ingresses.

  3. On the Ingresses page, find the Ingress endpoint in the Address column.

    image.png

  4. Access the service using the NLB domain name or the public IP address of the gateway. For example, run:

    curl http://nlb-b4ewsj2******.cn-hangzhou.nlb.aliyuncsslb.com/version

    A successful response confirms the service is accessible through the MSE Ingress gateway.

    image.png

What's next

  • Advanced routing: Configure annotations on your Ingress resources to enable traffic splitting, canary releases, and request rewriting.

  • TLS termination: Add HTTPS support by configuring a certificate on the MSE cloud-native gateway.

  • Monitoring: View gateway metrics and access logs in the MSE console to monitor traffic and diagnose issues.

  • Clean up: To remove the test resources, delete the httpbin Deployment, Service, and Ingress from the ACK console, or run kubectl delete deployment,service,ingress httpbin -n default.