Istio 1.3 发布公告
重大更新
我们很高兴的宣布 Istio 1.3 发布了!
Istio 1.3 的主题是用户体验:
- 改善新用户使用 Istio 的体验
- 改善用户调试问题的体验
- 支持更多应用程序,无需任何其他配置
Istio 团队每发布几个版本,都会在可用性、API 和整体系统性能方面进行重大改进。Istio 1.3 就是这样的一个版本,团队非常高兴推出这些关键更新。
智能协议检测(实验性)
为了利用 Istio 的路由功能,服务端口必须使用特殊的端口命名格式来显式声明协议。对于未在部署应用程序时命名其端口的用户,此要求可能会引起问题。 从 1.3 开始,如果未按照 Istio 的约定命名端口,则出站流量协议将自动检测为 HTTP 或 TCP。我们会在即将发布的版本中完善此功能,并支持对入站流 量的协议嗅探以及识别 HTTP 以外的协议。
无 Mixer 的遥测(实验性)
是的,你看的没错!我们直接在 Envoy 中实实现了大多数常见的安全策略,例如 RBAC。我们以前默认关闭 istio-policy
服务,现在可以将大多数 Mixer 遥测功
能迁移到 Envoy。在此版本中,我们增强了 Istio 代理,以直接向 Prometheus 发送 HTTP 指标,而无需该 istio-telemetry
服务来完善信息。如果您只关
心 HTTP 服务的遥测,则此增强功能非常有用。请按照无 Mixer 的 HTTP 遥测概述进行操作,以试用此功能。在接下来的几个月里,我们将加强此功能,以便在您启用 Istio 双向 TLS 时增加对 TCP 服务的遥测支持。
不再需要容器端口
以前的版本中,作为一项安全措施,要求 Pod 明确声明每个容器的 containerPort
。Istio 1.3 有一种安全和简单的方法,可以将任何端口上的所有入站流量处
理为 工作负载实例,而无需声明 containerPort
。当工作负载实例向自己发送流量时,我们还完全消除了 IP 表
规则中造成的无限循环。
完全自定义生成 Envoy 配置
虽然 Istio 1.3 着重于可用性,但专家用户可以使用 Envoy 中的高级功能,这些功能不属于 Istio Networking API。
我们增强了 EnvoyFilter
API,以允许用户完全自定义:
- LDS 返回 HTTP/TCP 侦听器及其过滤器链
- RDS 返回 Envoy HTTP 路由配置
- CDS 返回集群集
您可以从这两个方面中获得优势:
利用 Istio 与 Kubernetes 集成,并以高效的方式处理大量 Envoy,同时还可以自定义生成 的 Envoy 配置,以满足基础设施内的特定需求。
其他增强
istioctl
增加了许多调试功能,可帮助您突出显示网格安装中的各种问题。可在istioctl
参考页面 查看所有受支持功能的集合。在此版本中,支持区域性的负载平衡也从实验级转变为默认级。Istio 现在利用现有的位置信息来确定负载平衡池的优先级,并将请求发送到最近的后端。
使用 Istio 双向 TLS 更好地支持 headless 服务。
我们通过以下方式增强了控制平面监控:
- 添加新指标以监视配置状态
- 添加 sidecar 注入相关的指标
- 为 Citadel 添加了新的 Grafana 仪表板
- 改进 Pilot 仪表板,以显示其他关键指标
添加 Istio 部署模型概念以帮助您确定哪种部署模型适合您的需求。
更新操作指南中的内容,并创建包含所有故障排除内容的章节,以帮助您更快地找到所需信息。
与往常一样,很多事情发生在社区会议上;你可以在每隔一个星期四的太平洋时间 上午 11 点加入我们。
Istio 的成长和成功归功于其 300 多家公司的 400 多个贡献者。 加入我们的 Working Groups,帮助我们使 Istio 变得更好。
要加入讨论,请使用您的 GitHub 账号登录 discuss.istio.io 并加入我们!