Service Mesh 实战
马若飞
FreeWheel 北京研发中心首席工程师、《Istio 实战指南》作者
11858 人已学习
新⼈⾸单¥59
课程目录
已完结/共 41 讲
Service Mesh 实战
登录|注册
留言
15
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 16 | 流量转移:灰度发布是如何实现的?
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.75x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
01 | 课程介绍
02 | 内容综述
03 | Service Mesh的起源:为什么会出现Service Mesh技术?
04 | Service Mesh的发展:Service Mesh技术是如何演进的?
05 | 微服务通信的济世良方:什么是Service Mesh?它能帮你做什么?
06 | 列王的纷争:市面上有哪些主流的Service Mesh产品?
07 | 王者的诞生:为什么Istio有如此高的呼声?
08 | Istio的自我救赎:为什么Istio发生了两次重大的架构变更?
09 | 核心功能之流量控制:Istio是如何实现流量控制功能的?
10 | 服务的可观察性:如何理解服务可视化的重要性?
11 | 保卫你的网格:Istio是如何设计安全架构的?
12 | 安装与部署:如何安装Istio?它都支持哪些环境和部署方式?
13 | 动态路由:用Virtual Service和Destination Rule设置路由规则
14 | 网关:用Gateway管理进入网格的流量
15 | 服务入口:用Service Entry扩展你的网格服务
16 | 流量转移:灰度发布是如何实现的?
17 | Ingress:控制进入网格的请求
18 | Egress:用Egress实现访问外部服务
19 | 超时重试:提升系统的健壮性和可用性
20 | 熔断:“秒杀”场景下的过载保护是如何实现的?
21 | 故障注入:在Istio中实现一个“Chaos Monkey”
22 | 流量镜像:解决线上问题排查的难题
23 | 洞察你的服务:使用Kiali观测你的微服务应用
24 | 指标:使用Prometheus收集指标
25 | 监控:使用Grafana查看系统的整体状态
26 | 日志:如何获取Envoy的日志并进行调试
27 | 分布式追踪:使用Jeager对应用进行分布式追踪
28 | 守卫网格:配置TLS安全网关
29 | 双重保障:为应用设置不同级别的双向TLS
30 | 授权策略:如何实现JWT身份认证与授权?
31 | 实战演练(一):项目准备和构建过程
32 | 实战演练(二):实现自动化灰度发布
33 | 实战演练(三):提升系统的弹性能力
34 | 实战演练(四):配置安全策略
35 | 实战演练(五):收集指标并监控应用
36 | 实战演练(六):集成 ELK Stack 日志套件
37 | 实战演练(七):集成分布式追踪工具
38 | 调试工具和方法:调试网格的工具和方法有哪些?
39 | 实践经验总结:实际落地中的常见问题有哪些?
40 | 未来架构——从Service Mesh迈向云原生
41 | 结果测试&结束语
登录 后留言

全部留言(15)

  • 最新
  • 精选
暮雨
蓝绿发布的图画的有问题吧,数据库存储层不应该分开吧

作者回复: 取决于你是有状态还是无状态蓝绿

2021-07-24
1
又双叒叕是一年啊
再请教下: SpringCloud应用 迁移到 istio,原有的部署改造有哪些? 比如原来的流量入口 Nginx 转发 springcloudgateway 是不是直接替换成 nginx转发到 ingressgateway上,原来的consul注册中心还需要?如何跟istio这套服务注册兼容?还是可以直接下掉。

作者回复: 先要想清楚为什么要迁移,如果没有痛点没必要迁移,SpringCloud的服务治理能力比istio强。如果要迁移,一般有2个问题,协议是否只有http、grpc、tcp;是否有遗留服务依赖consul,有需要整合服务注册,否则可以下掉

2021-06-18
1
missing
请教下为什么我这里报这个错? kubectl apply -f virtual-service-reviews-v2-chrome.yaml error: error validating "virtual-service-reviews-v2-chrome.yaml": error validating data: ValidationError(VirtualService.spec.http[0].match): invalid type for io.istio.networking.v1alpha3.VirtualService.spec.http.match: got "map", expected "array"; if you choose to ignore these errors, turn validation off with --validate=false ----- apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: reviews-chrome spec: hosts: - reviews http: - match: headers: user-agent: regex: ".*Chrome.*" - route: - destination: host: reviews subset: v2

作者回复: 格式问题 -route > route,缩进

2021-12-23
2
又双叒叕是一年啊
老师请教下:在istio中部署 微服务的 namespace 和 中间件的 namespace 是否需要拆分隔离开,以便于envoy sidecar只注入到 微服务上, 中间间和 微服务还是通过servicename 直连吧,不需要经过 envoy转发是吗?

作者回复: 看需求,中间件不需要流量管理就可以这样

2021-06-18
kylexy_0817
老师您好,后apply的虚拟服务会覆盖之前apply的吧?为什么我使用了user-agent的apply的路由策略在灰度发布的策略apply后,就都不生效了呢?我用的istio版本是1.9.4

作者回复: 会覆盖,desc下看看生效没,istioctl ps看看是不是sync了。一般不会有问题,仔细过下vs和dr的配置

2021-05-29
无聊小刚
老师,蓝绿发布的话,如何同步蓝绿环境中数据库的数据?一般企业都是怎么处理这部分的?

作者回复: 蓝绿指的是应用层,不是持久层,应用层的业务逻辑会有版本发布的需求,不同的版本连接的是同一个数据源

2020-12-06
拉拉
老师,我的所有服务都在同一个k8s的namespace里,现在引入了istio,会新增一个「istio-system」的namespace,那我是要重新把所有服务放到新的namespace里采用使用istio的功能吗?

作者回复: 不需要,istio-system只是用来部署istio自己的组件的,和你的应用没关系

2020-09-24
梦想
老师说的自动化的灰度发布工具 目前有哪些

作者回复: https://flagger.app/ 4-2 我们会讲这个

2020-05-24
Lomo Fu
老师 我的应用是有两个版本 是用vue编写的前端spa并用nginx部署 两个版本的样式在进行金丝雀时 会出现样式混乱 就是有时候旧版本的样式部分会在新版本中展示 新版本部分样式出现在旧版本中 尤其是两者流量为95-5这样的小流量时 如果是50-50这种情况就变少了 我已经关闭了浏览器缓存了 不知道是什么问题

作者回复: 听上去还是缓存的问题。你在应用后台查看一下log,如果按预期指向了不同的服务,说明配置是没问题的。流控的配置对前端肯定没有影响。建议你访问页面时在后面加不同的参数试试,打开chrome的console查看一下样式加载的路径和responsecode

2020-04-28
2
🔜
请问下,当我一个app 不注入sidecar的时候,能正常读取挂在pod里的文件,但是只要一注入就报权限不够不能读取文件。这个事什么情况

作者回复: 你的app读取文件是直接读取挂载点吗?原则上不走请求和sidecar没关系。你kubectl logs 看看app和istio-proxy的日志是什么错

2020-04-27
收起评论