微服务引擎MSE

通过K8s Ingress实现路由管控

2025-05-27 06:07:55

首先清除上一步创建的apisix ingress资源,在demo命名空间内创建K8s Ingress资源,定义如下:

apiVersion: networking.k8s.io/v1

kind: Ingress

metadata:

  name: httpserver-ingress

  namespace: demo

spec:

  ingressClassName: apisix

  rules:

  - http:

      paths:

      - backend:

          service:

            name: productpage

            port:

              number: 9080

        path: /productpage

        pathType: Exact

      - backend:

          service:

            name: productpage

            port:

              number: 9080

        path: /static/

        pathType: Prefix

      - backend:

          service:

            name: productpage

            port:

              number: 9080

        path: /login

        pathType: Exact

      - backend:

          service:

            name: productpage

            port:

              number: 9080

        path: /logout

        pathType: Exact

      - backend:

          service:

            name: productpage

            port:

              number: 9080

        path: /api/v1/products/

        pathType: Prefix

这里需要注意,mse ingress controller只会处理ingressClass是mse类型的Ingress资源。配置完成后可以看到在控制台新增了一个服务配置:

 

针对每一条路径匹配生成了一条路由配置:

 

刷新浏览器,可以看到bookinfo应用正常运行:

wN0YGm4W9ZU9