ITPub博客

首页 > 云计算 > Docker/K8 > 315 · Istio1.1 功能预告,真的假不了

315 · Istio1.1 功能预告,真的假不了

原创 Docker/K8 作者:CCE_huawei 时间:2019-03-18 14:50:37 0 删除 编辑

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



相关服务请访问:

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69908804/viewspace-2638657/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-01-28

  • 博文量
    46
  • 访问量
    47470