ACP云原生容器工程师 - ASM服务网格使用

ASM入门指引

  • 部署ASM的基础环境

    • 阿里云ECS弹性计算云服务器

    • 阿里云Kubernetes集群(ACK/ASK)

  • 部署ASM的主要步骤

    • 创建一个服务网格ASM实例

    • 添加一个Kubernetes集群到服务网格ASM实例中

    • 为服务网格ASM实例中的集群部署入口网关

    • 将应用部署到上述服务网格ASM实例的ACK Kubernetes集群中

    • 为服务网格ASM实例定义虚拟服务和istio网关

部署过程

创建ASM实例

  • 前提条件

    • 已开通以下服务,服务网格ASM、容器服务、弹性伸缩服务、访问控制服务、链路追踪服务

    • 已获得以下角色授权:AliyunServiceMeshDefaultRole、AliyunCSClusterRole、AliyunCSMagedKubernetesRole

  • 背景信息

    • 创建ASM可能会进行如下操作:

      • 创建安全组

      • 创建VPC路由规则

      • 创建弹性公网IP

      • 创建专有网的负载均衡

      • 暴露6443端口

      • 暴露15011端口

      • 收集被托管管控组件的日志信息

  • 基本步骤

    1. 登录ASM控制台

    2. 在左侧导航栏,选择服务网格 - 网格管理

    3. 在网格管理页面单击创建新网格

    4. 在创建新网格页面,完成网格配置

    • 设置网格基础选项

    • 设置网格高级选项

    1. 了解和接受服务协议

    2. 单击确定,开始创建

  • 执行结果

    • 网格实例页面显示实例列表

    • 查看已创建的实例摘要信息

    • 查看实例相关的日志细节

    • 查看实例相关的管理细节

      • 基本信息

      • 连接配置

      • 数据平面集群信息

      • 虚拟服务

      • 目标规则

      • istio资源定义

添加集群

  • 前提条件

    • 已创建至少一个ASM实例

    • 已创建至少一个集群

      • Kubernetes专有版集群

      • Kubernetes托管版集群

      • ECS虚拟机

    • 待添加的集群与ASM实例位于同一VPC

  • 操作步骤

    • 在网格管理页面单击目标ASM实例名称

      • 或目标ASM实例右侧操作列下的管理
    • 在数据平面区域,单击集群页签

    • 在集群页签,单击添加

    • 在弹出页选中需要添加的集群,并确定

    • 在重要提示对话框中单击确定

  • 执行结果

    • 添加集群之后,ASM实例的状态变为更新中

      • 黄:更新中

      • 青:运行中

    • 数秒之后,刷新信息,网格状态会变为运行中

      • 等待时长与添加的集群数量有关
    • 在数据平面区域,可以查看已添加集群的信息

添加入口网关

  • 前提条件

    • 已创建至少一个ASM实例

    • 已添加至少一个集群到该实例中

  • 背景信息

    • 七层网关功能

    • 对外提供一个统一的七层服务入欧

    • HTTP请求分发/负载均衡

  • 操作步骤

部署应用

  • 前提条件

    • 已创建至少一个ASM实例

    • 已添加至少一个集群到该实例中

    • 通过kubectl连接到ASM实例中新添加的集群

    • 已添加入口网管到该集群

  • 背景信息案例:Bookinfo书评应用

    • 4个微服务构成

    • 不同的技术栈

    • Reviews微服务有3个版本

  • 操作步骤

定义资源

  • 前提条件

    • 已创建至少一个ASM实例

    • 已添加至少一个集群到该集群中

    • 已添加入口网管到该集群

    • 已部署应用到该集群

  • 背景信息

    • 定义istio资源的目的

      • 策略路由

      • 流量治理

      • 鉴权

      • 安全保护

  • 定义istio资源类型

    • 服务网关Gateway

      • 暴露服务

      • 绑定端口、协议、域名

    • 虚拟服务VirtualService

      • URL匹配

      • 服务版本

      • 流量权重

    • 目标规则DestinationRule

      • 负载均衡策略

      • 流控规则

    • 服务入口ServiceEntry

      • 外部服务发现

      • 流量拦截

  • 部署步骤

    • 定义Gateway资源

    • 定义虚拟服务

    • 访问入口网管

    • 定义目标规则

      • 负载均衡策略:轮询、最小连接数、随机
    • 增加新的虚拟服务

    • 执行结果

流程总结

  • 服务网格ASM的部署流程

    • 创建一个服务网格ASM实例

    • 添加一个集群到服务网格ASM实例中

    • 为服务网格ASM实例中的集群部署入口网关

    • 将应用部署到上述服务网格ASM实例中的集群中

    • 为服务网格ASM实例定义虚拟服务和istio服务网关

  • 服务网格ASM的移除流程

    • 在ASM实例管理页面移除所有关联的集群

    • 集群中部署的入口网关服务将被自动卸载

    • 在列表页面删除ASM实例

ASM使用问题

  • 不能再ASM实例中部署应用

    • 控制台提供的配置用于连接ASM实例

    • istio资源在控制平面操作,无法在控制平面部署应用

  • 不能再ASM管理的集群中部署istio的虚拟服务等CRD资源

    • istio资源在控制平面操作,连接的kubeconfig同样是控制平面提供的配置
  • 不直接使用集群的连接配置操作istio资源

    • istio CRD对应的资源保存在控制平面,控制平面完成规则转换并应用
  • 服务网格控制平台的命名空间yu数据平面集群的命名空间的区别

    • 通过控制台或Kubeconfig定义的命名空间隶属于ASM实例

    • 与该ASM实例管理的数据平面集群相互独立

    • 在实例和数据平面集群中的管理与维护操作互不影响

小结

  • ASM入门指引

  • 部署过程

    • 创建ASM实例

    • 添加集群

    • 添加入口网关

    • 部署应用

    • 定义资源

  • 流程总结

  • ASM使用问题

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章