安全更新:发布 Istio 1.1.3

重要安全更新

1.1.3 中的已知问题

  • Node Agent 崩溃:在 1.1.3 的验证过程中发现了这一问题。这种情况只会在启用了 SDS 证书轮转功能(仍处于 Alpha 阶段)的条件下出现。这是我们第一次在长期运行的发布测试中包含 SDS 证书轮转功能,并不清楚这是一个潜在错误还是新错误。SDS 证书轮转还处于 Alpha 阶段,我们决定在 1.1.3 中包含这一功能,并在 1.1.4 中进行修复。

问题修复

  • 1.1.2 中,针对 CVE-2019-9900 以及 CVE-2019-9901 对 Envoy 做了补丁处理,在新版本中已经移除,改用已经包含完整更新的 Envoy。
  • 修复了 EDS 水平拆分中的负载均衡权重。
  • 纠正了 JSON 日志格式中的拼写错误 Issue 12232
  • 在配置更新的情况下,正确的处理进程外适配器地址的刷新 Issue 12488
  • 在误删的情况下恢复 Kiali 配置 Issue 3660)
  • 修复了同样目标端口的服务会重复生成入站监听器的问题 Issue 9504
  • istio-system 之外配置 Sidecar 资源的 egress 端口会在 Sidecar 监听器的绑定过程中生成一个 BlackHoleClusterenvoy.tcp_proxy 过滤器 Issue 12536
  • 使用更精确的主机匹配方式,修复网关中 vhost 配置生成的问题 Issue 12655
  • 修复了 ALLOW_ANY,允许外部流量。
  • 修复了验证逻辑,不再用 port.name 作为有效的 PortSelection
  • 修复了 istioctl proxy-config clusters 中集群类型列的渲染过程 Issue 12455
  • 修复了 SDS Secret 的加载配置。
  • 修正了 Helm chart 中的 Istio 版本信息。
  • 修复了端口重叠时产生的 DNS 故障 Issue 11658
  • 修复了 Helm 中 podAntiAffinity 模板的问题 Issue 12790
  • 修复了原始的服务发现不使用原始目标负载均衡的问题。
  • 修复了在缺失密钥的情况下 SDS 内存泄漏的问题 Issue 13197

小幅增强

  • PushContext 日志中移除 ServiceAccounts,减少日志尺寸。
  • values.yaml 中配置 localityLbSetting,传递给网格配置。
  • 从 Helm Chart 中移除将要过期的 critical-pod 注解 Issue 12650
  • 支持 Pod 的反亲和注解,以提高控制面的可用性 Issue 11333
  • 在访问日志中优化 IP 地址的输出格式。
  • 为了降低日志的空间占用,移除多余的 Header 写入操作。
  • 在 Pilot 中增强对目标主机的校验。
  • 显式的配置 istio-init 使用 root 身份运行,这样 Pod 级的 securityContext.runAsUser 就不会破坏初始化过程了 Issue 5453
  • 为 Vault 集成加入配置样例。
  • ServiceEntry 设置中的区域感知负载均衡配置优先处理。
  • Pilot Agent 监视的 TLS 证书位置可以进行配置 Issue 11984
  • 加入 Datadog 的跟踪支持。
  • istioctl 加入别名,可以用 x 代替 experimental 了。
  • 在 CSR 请求中加入抖动时延,从而改善 Sidecar 证书的分布情况。
  • 允许对区域感知负载均衡的权重进行配置。
  • 为内置 Mixer 适配器加入标准 CRD 支持。
  • 降低 demo 配置中 Pilot 的资源需求。
  • 加入数据源,完成 Galley Dashboard Issue 13040
  • 将 1.1.0 中对 sidecar 做出的性能调整应用到 istio-gateway 上。
  • 增强目标主机校验,禁用 * 主机,Issue 12794
  • 在集群定义中开放上游的 idle_timeout,如此一来,就有机会在使用之前从连接池中移除死连接了 Issue 9113
  • 如果 Sidecar 资源中包含了 workloadSelector,就会据此选择工作负载 Issue 11818
  • 更新 Bookinfo 例子,用 80 端口发起 TLS。
  • 为 Citadel 加入存活检测。
  • 提高了 AWS ELB 的互操作性,在 ingressgateway 服务中把 15020 列到首位 Issue 12502
  • 在区域权重负载均衡上,仅为故障转移模式使用异常检测, Issues 12965
  • 在 1.1.0 以上版本的 CorsPolicy 中使用 filter_enabled 替换过期的 enabled字段。
  • 对 Mixer 的 Helm chart 进行标准化处理。