关于Istio v1.0,你需要知道的事儿

应用上云,怎能没有容器!点击上方容器魔方关注我


关于Istio v1.0,你需要知道的事儿


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

关于Istio v1.0,你需要知道的事儿


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

关于Istio v1.0,你需要知道的事儿


主要功能

关于Istio v1.0,你需要知道的事儿

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


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

关于Istio v1.0,你需要知道的事儿


1.0 版本

关于Istio v1.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信息:

关于Istio v1.0,你需要知道的事儿


关于Istio v1.0,你需要知道的事儿

性能和可扩展性的增强

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


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

关于Istio v1.0,你需要知道的事儿


关于Istio v1.0,你需要知道的事儿

资源的校验

之前的 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 v1.0,你需要知道的事儿


关于Istio v1.0,你需要知道的事儿

文档和示例的改进

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

关于Istio v1.0,你需要知道的事儿


关于Istio v1.0,你需要知道的事儿

其它方面

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

•     使能Pilot decomposition的API

•     各种bug的修复


关于Istio v1.0,你需要知道的事儿

生产案例

使用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来管理和监控我们的服务。


上一篇:openshift 4.3 Istio的搭建(istio 系列一)


下一篇:Istio 1.5 部署安装