Istio 1.2发布:版本迭代加快,流量管理与安全增强

导读:在Istio1.1版本发布仅仅三个月之后1.2版本发布了。不同于1.1版本万众期待,发布时间一推再推,最后历时七个半个月,1.2的发布效率确实出乎很多人意外。但是注意到1.2版本前1.1版本足足发满了1.1.1~1.1.9九个小版本,1.2更像是第三位满十进位的一个版本。总体看下来没有大的特性增加,更像是一个对于1.1中大粒度特性和之前特性的完善、增强和Bug修复。

下面就让我们从Release Notes上看看1.2版本带来了哪些修改内容
流量管理

  • 增强了多集群场景的基于位置信息的负载均衡;
  • 增强了在 ALLOW_ANY 的模式下Outbound流量策略。对于未知的HTTP/HTTPS主机端口的访问将会放通,并且Envoy会记录访问日志;
  • 支持设置服务的HTTP连接空闲超时时间;
  • 增强Sidecar的None模式支持;
  • 支持Envoy DNS解析频率配置,减少对DNS服务的压力;
  • Sidecar API升级到API Alpha和运行时Beta;

 

安全

  • Citadel的自签名根证书的默认时长设置为10年;
  • 通过在PodSpec注解中配置sidecar.istio.io/rewriteAppHTTPProbers: “true”来配置重写每负载的Kubernetes Readiness/Liveness HTTP健康检查;
  • 支持PKCS 8类型的私钥,在Citadel中通过参数–pkcs8-keys启用;
  • 增强JWT公钥获取逻辑,提高网络故障的鲁棒性;
  • 工作负载证书中的SAN字段设置为critical,解决某些自定义证书不能验证Istio证书的问题;
  • 支持HTTPS的Readiness/Liveness探针重写;
  • Ingress Gateway上多证书的SNI支持从Alpha升级为Stable;
  • Ingress Gateway上的证书管理从Alpha升级为Beta;

遥测

  • 完整支持基于使用注释基于Stats前缀,后缀和正则表达式来控制Envoy统计数据生成;
  • Prometheus生成的流量从Metric中排除;
  • 支持发送调用链数据到Datadog;
  • 分布式调用链追踪从Beta升级为Stable;

策略执行

  • 修复基于Mixer的TCP策略执行;
  • RBAC授权功能升级到API Alpha,运行时Beta;

 

配置管理

  • 增强了对策略和遥测CRD的校验;
  • 基本配置资源对象的校验从Alpha升级为 Beta;

 

安装和升级

  • 默认Proxy的内存现在((global.proxy.resources.limits.memory)从128Mi提升到1024Mi;
  • 增加了控制面组件的Pod反亲和和toleration;
  • 增加了配置sidecarInjectorWebhook.neverInjectSelector和 sidecarInjectorWebhook.alwaysInjectSelector ,允许用户基于标签选择器进一步优化是否对sidecar自动注入;
  • 增加了global.logging.level 和 global.proxy.logLevel配置,分别允许用户对控制面和数据面进行日志配置;
  • 增加 global.tracer.datadog.address参数,配置Datadog 的地址;
  • Adapter和Template的CRD默认不启用。如果要启用,需要通过 Use mixer.templates.useTemplateCRDs=true和mixer.adapters.useAdapterCRDs=true来配置;

其他

  • 推荐在未来版本默认使用traffic.sidecar.istio.io/includeInboundPorts这个注解替代之前要求使用在工作负载的yaml中通过containerPort 显示声明端口,更好理解;
  • 对Kubernetes集群增加了IPV6的支持;
总体看下来,不同于1.1版本Release Notes中大段的特性描述,1.2版本中每个特性的内容要少的多。大部分都是标记为Improved 、Graduated 、Fixed性质的特性,不多的Added 也都是些点上的小特性。这也验证了我们文前的总结,总体还是1.1版本的内容,不像1.0到1.1版本升级变化那么大。作者:idouba来源:容器魔方

K8S中文社区微信公众号

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址