通过云原生网关访问容器服务ACK中的应用

云原生网关无缝集成了ACK(阿里云容器服务)的服务发现功能,允许您轻松地将部署在ACK容器服务内的应用程序通过网关对外发布,从而实现服务的高效、安全暴露。本文以部署在容器服务ACK中的应用为例,帮助您快速入门云原生网关。

前提条件

  • 已创建ACK容器集群,且集群中已部署Deployment服务和对应的Service服务,创建集群请参见创建ACK托管集群创建ACS集群

  • 若您没有合适的应用,可参考如下YAML部署一个名为httpbinDeployment,以及一个名为httpbinService,应用部署的具体操作,请参见创建无状态工作负载Deployment

    查看httpbin YAML

    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

配置流程

云原生网关可直接添加部署在容器ACK中的应用服务。具体配置流程如下:

  1. 新建云原生网关

    创建一个与ACK容器集群同地域的云原生网关实例。

  2. 创建路由

    创建路由策略并关联服务和服务来源。

  3. 路由调试

    通过路由调试功能进行验证。

步骤一:新建云原生网关

说明

若您在ACK容器集群所在的地域已有可用的云原生网关实例,则可跳过此步骤。

  1. 登录MSE网关管理控制台,并在顶部菜单栏选择地域。

  2. 网关列表页面,单击创建网关

    image

  3. 在云原生网关购买页面中选择如下相关配置,地域选择与您在ACK容器集群所在的地域相同,专有网络选择与您在ACK容器集群相同的专有网络。网络访问类型选择公网,然后单击立即购买

    image

    说明

    网关创建过程可能需要2~3分钟时间,请您耐心等待。

步骤二:创建路由

  1. 登录MSE网关管理控制台,并在顶部菜单栏选择地域。

  2. 在左侧导航栏,选择云原生网关 > 网关列表,单击目标网关名称。

  3. 在左侧导航栏,单击路由管理,然后在路由页签单击创建路由

  4. 创建路由页面,填写路由名称域名选择*路径(Path)匹配规则为前缀是/,使用场景选择单服务,在服务名称列表下,单击关联服务

    image

  5. 在关联服务页面,选择来源类型为容器服务,服务来源选择您的ACK容器集群名,服务列表选择您ACK容器集群需要对外暴露的应用,例如httpbin,单击确定

    image

  6. 选择服务名称为httpbin。单击保存并发布

说明
  • 在创建路由时,您可以创建域名并关联,详情可参见创建域名

  • 云原生网关无缝集成容器和微服务体系,支持K8s、MSE Nacos、EDAS等多种服务发现方式,详情可参见关联服务来源

步骤三:路由调试

  1. 登录MSE网关管理控制台,并在顶部菜单栏选择地域。

  2. 在左侧导航栏,选择云原生网关 > 网关列表,单击目标网关名称。

  3. 在左侧导航栏,单击路由管理,然后选择路由页签。

  4. 在路由页面,单击目标路由名称httpbin-demo操作列下的调试,进入调试页面。

    接口参数输入version,单击发送,可看到服务接口的返回结果如下所示。

    image

相关文档