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端口
收集被托管管控组件的日志信息
基本步骤
登录ASM控制台
在左侧导航栏,选择服务网格 - 网格管理
在网格管理页面单击创建新网格
在创建新网格页面,完成网格配置
设置网格基础选项
设置网格高级选项
了解和接受服务协议
单击确定,开始创建
执行结果
网格实例页面显示实例列表
查看已创建的实例摘要信息
查看实例相关的日志细节
查看实例相关的管理细节
基本信息
连接配置
数据平面集群信息
虚拟服务
目标规则
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使用问题
v1.5.2