在使用服务网格ASM之前,您需要创建一个ASM实例。本文介绍如何通过ASM管理控制台创建ASM实例。

前提条件

背景信息

说明 创建服务网格的过程中,根据不同的配置,ASM可能会进行如下操作:
  • 创建安全组,该安全组允许VPC入方向全部ICMP端口的访问
  • 创建VPC路由规则
  • 创建EIP
  • 创建RAM角色及相应策略,该角色拥有SLB的全部权限,云监控的全部权限,VPC的全部权限,日志服务的全部权限。服务网格会根据用户部署的配置相应的动态创建SLB、VPC路由规则等
  • 创建专有网SLB,暴露6443端口
  • 创建专有网SLB,暴露15011端口
  • 在使用服务网格的过程中,ASM会收集被托管管控组件的日志信息用于稳定性保障

操作步骤

  1. 登录 ASM 控制台
  2. 在左侧导航栏中选择网格实例,然后在右侧打开的页面中,单击创建新网格
  3. 创建新网格页面,填写网格的名称、选择相应的地域、专有网络VPC及交换机。
    说明 您可以在已有 VPC 列表和交换机列表中选择所需的VPC和交换机。如果没有您需要的VPC或交换机,可以通过单击创建专有网络创建交换机进行创建,请参见创建专有网络创建交换机
  4. 设置是否开放使用公网地址暴露API Server
    ASM实例的运行基于Kubernetes运行时,可以通过API Server定义执行各种网格资源,如虚拟服务、目标规则或者Istio网关等。
    • 如果选择开放,会创建一个EIP,并挂载到私网SLB上。API Server的6443端口会暴露出来,您可以在公网通过kubeconfig来连接和操作集群,从而定义网格资源。
    • 如果选择不开放,则不会创建EIP,您只能在VPC下通过kubeconfig来连接和操作集群,从而定义网格资源。
  5. 设置是否开放使用公网地址暴露Istio Pilot
    • 如果选择开放,会创建一个EIP,并挂载到私网SLB上。Istio Pilot的15011端口会暴露出来,数据平面侧集群中部署的Envoy代理通过该公网地址连接到Istio Pilot。
    • 如果选择不开放,则不会创建EIP,数据平面侧只能添加与该VPC互连的集群,包括同一VPC下的集群或者通过云企业网连通的跨VPC集群。
    说明 默认不开放公网地址暴露Istio Pilot,优先通过VPC连通数据平面与控制平面。
  6. 设置是否启用链路追踪
    ASM集成了阿里云链路追踪服务,为分布式应用的开发者提供了完整的调用链路还原、调用请求量统计、链路拓扑、应用依赖分析等能力,可以帮助开发者快速分析和诊断分布式应用架构下的性能瓶颈,提升开发诊断效率。
    说明 启用该配置之前,您需要登录链路追踪管理控制台开通链路追踪服务。
  7. 设置是否启用服务就近访问
    服务网格ASM通过Envoy代理为应用服务提供了全局负载均衡能力,您可以在多个跨地域的ACK集群中部署运行应用服务的实例。ASM将这些应用服务的运行状况、路由和后端信息提供给Envoy代理,使其能够以最佳方式将流量路由至某个服务位于多个地域的应用实例。ASM会根据发送请求的Envoy代理位置,针对目标服务的工作负载实例,进行优先级排序。开启该项功能之后,当所有应用实例都正常时,请求将保留在同一位置,即保持服务就近访问。
  8. 设置是否启用OPA插件
    服务网格ASM集成了开放策略代理(OPA),可用于为您的应用程序实现细粒度的访问控制。启用后,如同Istio Envoy代理容器一样,OPA代理容器也会随之被注入到业务Pod中。然后,在ASM中就可以使用OPA定义访问控制策略,为分布式应用的开发者提供了开箱可用的能力,从而帮助开发者快速定义使用策略,提升开发效率。
  9. 设置是否启用网格审计
    网格审计功能可以帮助网格管理人员记录或追溯不同用户的日常操作,是集群安全运维中的重要环节。
  10. 了解和接受服务协议,并已阅读和同意阿里云服务网格服务条款和免责声明,然后勾选该选项。
  11. 单击确定,开始实例的创建。
    说明 一个ASM实例的创建时间一般约为2到3分钟。

执行结果

实例创建成功后,您可以查看以下信息:
  • 网格实例页面,查看已创建的实例。

    如需查看最新信息,单击右侧的 refresh 按钮。

    网格实例列表
  • 网格实例页面,单击新建实例操作列的日志,进入网格日志页面查看该实例相关的日志信息。
  • 网格实例页面,单击新建实例操作列的 管理,查看该实例的基本信息、连接配置以及对应数据平面侧的集群信息、控制平面侧定义的命名空间、虚拟服务、目标规则与Istio网格等资源定义信息。一个新建实例会显示以下默认创建的Istio资源:
    • 1个命名空间:default
      说明 系统会为新建实例默认创建5个命名空间,控制台只显示default。通过Kubectl方式可以查询和操作其他命名空间,包括:istio-system、kube-node-lease、kube-public、kube-system。
    • 2个目标规则:api-server(详情请参见 Istio 官网)、default(许可模式的网格范围认证策略,MeshPolicy)