Istio 1.0版本发布到现在,已经过去8个月。Istio1.1的候选版本也到了rc5,预计近期会正式发布1.1。此版本包含了许多错误修复,在流量管理,安全,策略和遥测,多集群等领域添加了新的功能。

对1.0的用户来说,感受最强烈的是:

  1. 默认关闭了策略执行功能

  2. 默认开启了Mesh外的访问,再也不用担心未配置ServiceEntry对外的访问突然不通了。

  3. 多集群不再只是1.0那种扁平网络的简单方案,提供了单控制面、多控制面几种方案,可以根据自己的场景需求选择。

  4. 安全上SDS也终于来了提供更灵活的安全基础能力。

  5. 性能上做了多点优化,总体表现值得期待。

另外1.1提供了很多新的能力,在配置使用上也会有所不同,虽然不至于像0.8到1.0引入V1alph3导致接口大变样那么夸张,但API的使用确实值得我们去注意。最直观的感受将是,原来的结构上字段突然多了很多。

Istio社区对1.1发布的初步文档已经在istio.io上提供,今天我们就率先为容器魔方粉丝献上中文版的功能预告

流量管理

新的sidecar:资源:在指定命名空间中使用sidecar资源时,支持定义可访问的服务范围,这样可以降低发给proxy的配置数量。在大规模的集群中,我们推荐给每个namespace增加sidecar对象。 这个功能主要是为了提升性能,减轻proxy计算的负担。

限制网络资源的生效范围:为所有的网络资源增加了exportTo的字段,用来表示此网络资源在哪些namespace中生效。这个字段目前只有两个值:

  • . 表示此网络资源只在自己定义的namespace生效;

  • *表示此网络资源在所有的namespace生效。

更新了serviceEntry的资源:指定服务的位置以及使用双向TLS关联的SAN。带HTTPS端口的service entry不再需要额外的virtualservice来开启基于SNI的路由。

细粒度的多集群路由:简化了多集群的安装,并支持额外部署模式,能够利用ingress gateways连接多个集群,而不使用pod级别的VPN。在每个集群中都部署控制面以提供高可用,跨集群创建全局的命名空间。在高可用控制面方案中,默认开启AZ/Region的区域感知能力,降低跨区请求造成的性能损耗。

弃用Istio Ingress:删除了以前弃用的Istio ingress。

安全

Readiness and Liveness 探针:在双向TLS启用的场景下支持Kubernetes HTTP readiness和liveness探针。

集群RBAC配置:使用ClusterRbacConfig资源对象替代原来的RbacConfig。ClusterRbacConfig支持集群范围的配置。

基于SDS的身份设置:On-node秘钥生成和动态证书替换不用重启Envoy。

TCP授权管理:除了HTTP和gRPC外,支持对TCP服务的授权管理。

最终用户组授权管理:支持JWT中组声明或者列表类型的声明。

每路径最终用户认证:可以启用和禁用基于访问路径的JWT认证。

Gateway上外部证书管理:支持动态加载和替换外部证书。

集成Vault PKI:提供Vault保护的秘钥签名并与现有Vault PKI集成。

自定义的可信域:在身份标识中支持特定org或cluster的安全域。

多集群

不可路由的L3网络:在不可路由的L3网络多集群环境中使用一个Istio 控制面。

多控制平面:在多集群环境中,支持安装多个Istio控制平面。

策略和遥测

默认关闭策略检查功能:为了提高多数客户场景下的性能,安装时默认关闭策略检查, 后期可按需开启此功能。

Kiali:弃用ServiceGraph,推荐使用 Kiali:提供了更丰富的可视化体验。

多方面降低开销 ,提升性能和可扩展性:

  • 减少Envoy生成的统计数据的默认收集

  • 为Mixer的工作负载增加load-shedding功能

  • 改进Envoy和Mixer的通信协议

控制请求头和路由:增加选项使适配器可以修改请求头和路由。

进程外适配器:进程外适配器功能生产可用,下个release弃用进程内适配器。

多方面增强Tracing的能力:

  • Trace id支持128bit的范围

  • 支持向LightStep发送追踪数据

  • 增加选项完全禁用Mixer支持的服务的追踪功能

  • 增加策略的decision-aware 追踪

默认的TCP指标:为追踪TCP连接增加默认指标。

配置管理

Galley:Galley在Istio中提供主要的配置管理和分发机制。它提供了一个健全的模型来验证,转换和分发配置状态到Istio各组件,使Istio组件与Kubernetes的细节隔离。Galley使用Mesh Configuration Protocol(MCP)和组件交互。

监控端口:Galley的默认监控端口从9093改为15014。

istioctl和kubectl

校验命令:为 Istio Kubernetes 的资源增加离线校验命令—— istioctl validate。

验证安装命令:在使用指定的YAML文件安装Istio前,可以用istioctl experimental verify-install 来预先检验Istio的安装状态。

弃用的命令:弃用 istioctl create,istioctl replace, istioctl get 和 istioctl delete,使用 kubectl 代替;弃用 istioctl gen-deploy,使用helm template代替。下个版本(1.2)将删除这些命令。

命令的缩写: 用kubectl操作Istio网络资源时可以使用缩写,例如: gateways简写为gw,virtualservice简写为vs等等。

升级

Istio Helm 配置的更改:

  • 默认关闭Egressgateway

  • 默认关闭Mixer policy

  • 默认允许所有出口流量(不用配置service entry),出口流量策略设置为ALLOW_ANY

相关服务请访问: https://support.huaweicloud.com/cce/index.html?utm_content=cce_helpcenter_2019

315 · Istio1.1 功能预告,真的假不了的更多相关文章

  1. 开源敏捷测试管理& 开源BUG跟踪管理软件itest(爱测试) V3.3.1小改紧急发布及正实现功能预告

    v3.3.1 下载地址 :itest下载 码云源码地址 https://gitee.com/itestwork/itest 开源中国  itest项目地址   https://www.oschina. ...

  2. 【DevExpress v17.2新功能预告】增强ASP.NET TreeList

    本文主要为大家介绍在下一个主要版本v17.2中,DevExpress ASP.NET TreeList获得的一些重大改进.DevExpress ASP.NET TreeList和GridView控件在 ...

  3. 【DevExpress v17.2新功能预告】增强ASP.NET GridView的功能

    在下一个主要版本v17.2中,我们将为DevExpress ASP.NET GridView添加一些优秀的新功能.在本文中为大家介绍的所有功能都可用于 GridView的ASP.NET WebForm ...

  4. 【DevExpress v17.2新功能预告】WinForms上的图表增强

    在WinForms Charts v17.2中,我们新增了一些有用的功能,开发人员和最终用户可能都会喜欢. 基于标准的过滤 Chart控件已经支持一系列的过滤,但是在这个版本中,我们用FilterCr ...

  5. 【DevExpress v17.2新功能预告】DevExtreme ASP.NET MVC新的强类型HTML Helpers

    在ASP.NET MVC中构建视图时,强类型HTML helpers非常有用.像@Html.TextBoxFor(m => m.FirstName)这样内置的Helper方法已经存在很长时间了, ...

  6. 【DevExpress v17.2新功能预告】DevExpress ASP.NET Scheduler新的自适应功能

    自适应Web设计可以帮助您解决各种尺寸的屏幕问题,网站的自适应网页设计可帮助您解决用户使用不同大小屏幕显示数据的问题. 在v17.2中,我们最大化了ASP.NET Scheduler的视图和可视化元素 ...

  7. 【DevExpress v17.2新功能预告】DevExtreme TreeList

    在即将到来的v17.2中,您可以查看到DevExtremeHTML5 TreeList小部件的这些新功能. 1. 递归选择模式 TreeList将包括一个新的递归选择模式,您只需一次点击即可选择或取消 ...

  8. 【DevExpress v17.2新功能预告】改进DevExtreme编辑器

    DevExpress即将发布v17.2版本,在DevExtreme v17.2中,DevExtreme编辑器进行了一些改进. 除了dxScheduler,dxDataGrid,dxTreeList和d ...

  9. 各种xml配置文件(所含内部标签及顺序)的提示功能是真的人性化

    通过mybatis generator的配置文件来举例,其他配置文件(web.xml,mybatis,spring,springmvc等)同理 mybatis可以通过mybatis generator ...

随机推荐

  1. iOS技术面试05:UI控件

    怎么解决缓存池满的问题 1> 优先移除使用次数比较少的对象 2> 优先移除缓存时间最长的对象(让年轻的活下来) 3> 优先移除占用内存比较大的对象 CAAnimation的层级结构 ...

  2. 使用SWO代替UART,实现Printf打印功能

    JTAG接口中,有个SWO引脚,一直没有在意,也没有去研究过是干嘛用的.直到发现ST-LINK V2-1上也有个SWO引脚,于是去研究学习它的作用,用起来相比UART方得便多. 本文内容已经整理成PD ...

  3. Python创建文件报错OSError:[Errno 22] Invalid argument处理

    问题: windows平台下使用python open函数w模式打开文件报错“OSError: [Errno 22] Invalid argument: '../news/“消费升维”成零售业新风口? ...

  4. C语言程序设计II—第十二周教学

    第十二周教学总结(13/5-19/5) 教学内容 本周的教学内容为:11.1 知识点:指针数组的概念.11.2 知识点:函数指针.11.3知识点:单链表的基本概念,链表节点的结构定义方法,以及单向链表 ...

  5. Hystrix的介绍(断路、降级)

    在大中型分布式系统中,通常系统很多依赖(HTTP,hession,Netty,Dubbo等),如下图:     在高并发访问下,这些依赖的稳定性与否对系统的影响非常大,但是依赖有很多不可控问题:如网络 ...

  6. HTML 前端

    昨日内容回顾 HTML文档结构 标签要封闭,全封闭,自封闭 html文件不识别多个空格或者换行,都识别成一个空格 注释: <!-- 注释 --> head标签 网页源信息,配置信息 tit ...

  7. pandas数据结构之Series笔记

    对Series的理解也源于对其相关的代码操作,本次仅贴一些代码来加深理解以及记忆 import pandas as pd import numpy as np s = pd.Series(np.ran ...

  8. 串口(USART)通信-串口通讯协议简介

    物理层:规定通讯系统中具有机械.电子功能部分的特性,确保原始数据在物理媒体的传输.其实就是硬件部分. 协议层:协议层主要规定通讯逻辑,统一收发双方的数据打包.解包标准.其实就是软件部分. 简单来说物理 ...

  9. Go语言学习笔记(6)——指针

    指  针 指针: 存储另一个变量的内存地址的变量: Go语言的取地址符号也是& 1. 声明指针: var needle_name *type var b int = 10 var a *int ...

  10. 将物理机系统转为虚拟机系统 p2v

    ref : https://blog.csdn.net/gsls200808/article/details/77932713 背景: 在公司有台机子主要负责某产品的升级与维护,出于各种原因,该产品需 ...