千呼万唤,根据社区最新的计划, Istio 1.0版本将于7月20日发布。本次1.0版本紧随6月1号的第一个LTS的0.8版本后,不到两个月的时间,并未做大的特性开发,主要还是集中在:提供了稳定新的流量管理模型;改进了调试功能;增强了性能和扩展性等。


对于Istio v1.0是否能用于生产环境以及需要考虑哪些问题,社区将会发布SRE指南来回答,敬请期待!


主要功能

Istio的feature主要分布在流量管理、可视化、安全和核心等几个领域,每个特性都需要通过自身的生命周期进行交付(dev/alpha/beta/stable)。


一般生产可以使用beta和stable阶段的组件,而测试使用alpha阶段的组件。目前这些领域的大部分关键功能进入 了beta 或者stable的阶段。下表列出了这些特性(详细参照Istio.io 官方网站):


1.0 版本

接下来让我们看看Istio 1.0版本有哪些方便的改进:


稳定新的流量管理模型

Istio v0.8引入了新的配置资源来控制进入网格、网格内部和离开网格的流量路由。包括:Gateway、VirtualService、DestinationRule和ServiceEntry。其中,VirtualService、DestinationRule和ServiceEntry分别替换了原API中的RouteRule、DestinationPolicy和Egre***ule;Gateway用于对流入专用中间设备的流量进行建模。


但v0.8在新的流量模型上还有一些不足,某些功能需要补齐,例如v0.8不能支持networking/v1alpa3的TCP/TLS的路由;两个版本存在时设置v1版本权重为0、v2版本为100策略不生效等。这些问题都将在v1.0发布时解决。


调试功能的改进

目前调试中如果需要查看sidecar的实时配置,需要进入相应的容器内调用envoy admin API去获取这些信息。v1.0用户可以直接使用istioctl进行调试。


例如istioctl proxy-status可以查看envoy和Pilot的配置差异(将支持clusters,listeners,routes和endpoints):

istioctl proxy-config可以得到envoy的clusters/listeners/routes的总览和dump信息:


性能和可扩展性的增强

针对v0.8的性能问题,社区做了一些改进,进一步识别并较少开销。


插件中集成了可观测性分析服务Kiali,丰富和提高对服务的可视化和监控能力, 利用Kiali可以看到service mesh的拓扑(包括熔断和请求速率),调用链等信息(详情参考https://github.com/kiali/kiali)。


资源的校验

之前的 Istio 版本中,只能通过 istioctl 验证 Istio 相关 CRD 的有效性,Galley为Istio提供了配置管理服务,提供在k8s服务端验证Istio的CRD 资源的合法性的方法,校验目标包含 Pilot(例如 destinationpolicies 和 routerules) 和 Mixer(例如 memquotas 和 prometheuses)两类 CRD。 v1.0开放的Galley接口:galley probe、galley server、galley validator和version等。


文档和示例的改进

文档方面包括Istio官网的对中文的支持,Istio首页和各章节的排版改进,扩展troubleshooting 指南等。 Samples增加了websockets app、health check等样例,改进上手体验。


其它方面

•    1.0要求使用Kubernetes1.9 或更高版本

•     使能Pilot decomposition的API

•     各种bug的修复


生产案例

使用Istio的生产案例主要有Weather Company和American Airline。其中,Weather Company是一个销售和传播天气数据的平台,有40个后端服务,每秒可处理400K请求。Weather Company使用Istio已有8个月,目前支持Istio v0.8.0.
关于Weather Company使用Istio的详情可以参考视频https://www.youtube.com/watch?v=0fKi3NeCsSE


目前基于release-1.0分支的每日构建版本可以在http://bit.do/istio10-latest-daily获取。我们期待Istio v1.0在本月的发布,届时将会带来一个更稳定,更易用的Istio来管理和监控我们的服务。


©著作权归作者所有:来自51CTO博客作者mob604756f21372的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 基于Go语言构建的万亿级流量大数据平台架构|文末彩蛋
  2. 通过kuboard更新镜像版本
  3. Ceph Octopus版本Dashboard新增硬盘闪灯等功能
  4. JDK 15 JAVA 15的新特性展望
  5. springboot整合 elasticsearch 做 增删改查 CRUD以及分页
  6. 徒手开发一个迷你版本的tomcat服务器
  7. 16.SpringCloud实战项目-Spring Cloud Alibaba 组件简介
  8. [DUBBO] publishProvider interfaceName is empty.
  9. NAO机器人py文件植入

随机推荐

  1. 使用Azure Backup还原云端VM
  2. 二叉树实现
  3. linux文件目录结构汇总!Linux学习
  4. 使用pkg打包编译nodejs程序,手动设置缓存
  5. 来了!Python官方文档中文版
  6. 使用AndroidStudio生成打有系统签名的apk
  7. 来了!Django 2.2 正式发布
  8. 添加到我的小程序动画实现详细讲解,轻松学
  9. 一份来自 StackOverflow 的最佳 Python
  10. 如何使用Python执行系统命令?Python学习