315 · Istio1.1 功能预告,真的假不了
Istio 1.0版本发布到现在,已经过去8个月。Istio1.1的候选版本也到了rc5,预计近期会正式发布1.1。此版本包含了许多错误修复,在流量管理,安全,策略和遥测,多集群等领域添加了新的功能。
对1.0的用户来说,感受最强烈的是:
默认关闭了策略执行功能
默认开启了Mesh外的访问,再也不用担心未配置ServiceEntry对外的访问突然不通了。
多集群不再只是1.0那种扁平网络的简单方案,提供了单控制面、多控制面几种方案,可以根据自己的场景需求选择。
安全上SDS也终于来了提供更灵活的安全基础能力。
性能上做了多点优化,总体表现值得期待。
另外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 功能预告,真的假不了的更多相关文章
- 开源敏捷测试管理& 开源BUG跟踪管理软件itest(爱测试) V3.3.1小改紧急发布及正实现功能预告
v3.3.1 下载地址 :itest下载 码云源码地址 https://gitee.com/itestwork/itest 开源中国 itest项目地址 https://www.oschina. ...
- 【DevExpress v17.2新功能预告】增强ASP.NET TreeList
本文主要为大家介绍在下一个主要版本v17.2中,DevExpress ASP.NET TreeList获得的一些重大改进.DevExpress ASP.NET TreeList和GridView控件在 ...
- 【DevExpress v17.2新功能预告】增强ASP.NET GridView的功能
在下一个主要版本v17.2中,我们将为DevExpress ASP.NET GridView添加一些优秀的新功能.在本文中为大家介绍的所有功能都可用于 GridView的ASP.NET WebForm ...
- 【DevExpress v17.2新功能预告】WinForms上的图表增强
在WinForms Charts v17.2中,我们新增了一些有用的功能,开发人员和最终用户可能都会喜欢. 基于标准的过滤 Chart控件已经支持一系列的过滤,但是在这个版本中,我们用FilterCr ...
- 【DevExpress v17.2新功能预告】DevExtreme ASP.NET MVC新的强类型HTML Helpers
在ASP.NET MVC中构建视图时,强类型HTML helpers非常有用.像@Html.TextBoxFor(m => m.FirstName)这样内置的Helper方法已经存在很长时间了, ...
- 【DevExpress v17.2新功能预告】DevExpress ASP.NET Scheduler新的自适应功能
自适应Web设计可以帮助您解决各种尺寸的屏幕问题,网站的自适应网页设计可帮助您解决用户使用不同大小屏幕显示数据的问题. 在v17.2中,我们最大化了ASP.NET Scheduler的视图和可视化元素 ...
- 【DevExpress v17.2新功能预告】DevExtreme TreeList
在即将到来的v17.2中,您可以查看到DevExtremeHTML5 TreeList小部件的这些新功能. 1. 递归选择模式 TreeList将包括一个新的递归选择模式,您只需一次点击即可选择或取消 ...
- 【DevExpress v17.2新功能预告】改进DevExtreme编辑器
DevExpress即将发布v17.2版本,在DevExtreme v17.2中,DevExtreme编辑器进行了一些改进. 除了dxScheduler,dxDataGrid,dxTreeList和d ...
- 各种xml配置文件(所含内部标签及顺序)的提示功能是真的人性化
通过mybatis generator的配置文件来举例,其他配置文件(web.xml,mybatis,spring,springmvc等)同理 mybatis可以通过mybatis generator ...
随机推荐
- localStorage 存储 数组
let str = JSON.stringify(data.list); localStorage.setItem("options",str); let optionss=loc ...
- dropout含义与原理
含义 在训练过程中,对神经网络单元按照一定比例暂时将其丢弃. 原理 由于网络参数过多,训练数据少,或者训练次数过多,会产生过拟合的现象.dropout产生的一个重大原因就是为了避免过拟合. 每一层的神 ...
- 【VS开发】网络SOCKET编程INADDR_ANY选项
INADDR_ANY选项 网络编程中常用到bind函数,需要绑定IP地址,这时可以设置INADDR_ANY INADDR_ANY就是指定地址为0.0.0.0的地址,这个地址事实上表示不确定地址,或&q ...
- 【C/C++开发】运算符重载二
C++中预定义的运算符的操作对象只能是基本数据类型.但实际上,对于许多用户自定义类型(例如类),也需要类似的运算操作.这时就必须在C++中重新定义这些运算符,赋予已有运算符新的功能,使它能够用于特定类 ...
- Temporal IR (Chapter3 -Temporal Infroamtion Extraction)
不管是文档,还是查询中,都显式或者隐式地包含了可以被利用的时间信息. 提取出来的时间信息可以用作构成“时间简历”(temporal profile)用于多种对象,比如实体和事件. 在时间信息中,最容易 ...
- CDH建表字符集问题
登陆metadata数据库: show variables like 'character_set%'; alter database hivemeta default character set l ...
- java多线程上篇(二) -- 进程的控制、同步
一.进程的控制 进程的基本数据信息是操作系统控制管理进程的数据集合,这些信息就是用来控制进程的,此处我们说的进程控制就是进程的管理. 比如进程有状态,那么进程的创建.终止,状态的切换,这都不是进程自主 ...
- Jetbrains系列产品2019.2.3最新激活方法
Jetbrains系列产品2019.2.3最新激活方法[持续更新] 发表于 2018-08-25 | 分类于 软件调试 本站惯例:本文假定你知道Jetbrains家的产品.不知道可以问问搜索引擎. 大 ...
- C语言细节
一些常见细节 int *p[]和 int (*p)[] 的区别 int *p[4]; //定义一个指针数组,该数组中每个元素是一个指针,每个指针指向哪里就需要程序中后续再定义了. int (*p)[4 ...
- os路径
import os linux下 例如: 我现在在 /home/settings.py文件下 # 获取当前的绝对路径 os.path.abspath(__file__) # 获取的内容 /home/s ...