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. jQuery和ajax【“Asynchronous Javascript And XML】

    环境搭建 搭建一个jQuery的开发环境非常方便,可以通过下列几个步骤进行. 下载jQuery文件库 在jQuery的官方网站(http://jquery.com)中,下载最新版本的jQuery文件库 ...

  2. Vector3.Angle问题

    Angle角度 public static float Angle(Vector3 from, Vector3 to); 返回的角度总是两个向量之间的较小的角(实测返回不大于 180 度, 并不是 u ...

  3. CF C.Ivan the Fool and the Probability Theory【思维·构造】

    题目传送门 题目大意: 一个$n*m$的网格图,每个格子可以染黑色.白色,问每个格子最多有一个相邻格子颜色相同的涂色方案数$n,m<=1e5$ 分析: 首先,考虑到如果有两个相邻的格子颜色相同, ...

  4. spring boot 复选框

    jsp代码 技能: <form:checkboxes path="jineng" items="${jinengItme}" /> spring代码 ...

  5. python数据结构_递归_汉诺塔问题

    已经不是第一次写这个汉诺塔问题, 其实递归还真是不太好理解, 因为递归这种是想其实有点反人类, 为什么? 因为不太清楚, 写个循环一目了然, 用递归其实要把核心逻辑理清楚, 要不根本没法进行下去 所有 ...

  6. [转帖]为微软效力15年的微软前员工解释Windows 10为什么问题这么多

    为微软效力15年的微软前员工解释Windows 10为什么问题这么多 https://www.cnbeta.com/articles/tech/892109.htm . 测试团队已经被裁撤 . 自动化 ...

  7. Redis SETNX实现分布式锁

    1.某进程1执行 SETNX lock 以尝试获取锁 2.由于某进程2已获得了锁,所以进程1执行 SETNX lock 返回0,即获取锁失败 3.进程1执行 GET lock 来检测锁是否已超时,如果 ...

  8. javaIO -- 流的体系设计思路、基础分类

    一.流 1. 流的含义 在程序设计中,流是对于数据流动传输的一种抽象描述任何有能力产出数据的数据源,或者有能力接受数据的接收端对象都是一个流. 2. 流的源和目的 数据可能从本地文件读取,或者写入,  ...

  9. ElasticSearch入门-基本概念介绍以及安装

    Elasticsearch基本概念 Elasticsearch是基于Lucene的全文检索库,本质也是存储数据,很多概念与传统关系型数据库类似. 传统关系型数据库与Elasticsearch进行概念对 ...

  10. php类常量

    类常量类常量可以使用define定义,也可用const定义,但是在类的内部,只允许用const定义,类常量不能更新,也不能删除类常量通常是大写的,两个单词之间用下滑线连接,如MY_NATION类常量在 ...