Istio 1.3 发布,HTTP 遥测不再需要 Mixer

Istio 是 Google、IBM 和 Lyft 联合开源的服务网格(Service Mesh)框架,旨在解决大量微服务的发现、连接、管理、监控以及安全等问题。Istio 对应用是透明的,不需要改动任何服务代码就可以实现透明的服务治理。 1.3 版本已经发布,距离上一个重要版本  1.2 发布已过去两个多月,我们来看看有哪些修改内容。

智能协议检测

在之前的版本中,如果要使用 Istio 的路由功能, Service  的端口命名必须使用特殊的命名格式。如果用户不遵循该命名规则,就无法使用路由功能。从 1.3 版本开始,即使没有按照规则命名 Service 的端口,Istio 也会自动识别出站流量的协议为  HTTP  或  TCP 。目前还不支持自动识别入站流量的协议,下个版本将会支持。

无 Mixer 的遥测功能(实验性)

这才是大家最期待的!该版本将大多数常见的安全策略相关的功能(如 RBAC)直接迁移到了  Envoy  中,同时也将大部分遥测功能迁移到了 Envoy 中。现在 Istio proxy 可以直接将收集到的  HTTP  指标暴露给  Prometheus ,无需通过  istio-telemetry  服务来中转并丰富指标信息。如果你只关心 HTTP 服务的遥测,可以试试这个新功能,具体步骤参考 无 Mixer 的 HTTP 遥测 。该功能接下来几个月将会逐渐完善,以便在启用双向 TLS 认证时支持  TCP  服务的遥测。

无需定义 containerPort

此前的版本要求网格中的每个 Pod 必须明确申明每个容器的  containerPort ,任何未申明的端口都会绕过 Istio Proxy。1.3 版本使用了一种更为简单安全的方法,不需要显示申明  containerPort  就可以处理工作负载任何端口上的所有入站流量。之前的版本中,当工作负载向自己发送流量时,会陷入 iptables 规则表导致的无限循环,这个版本也修复了。

支持完全自定义 Envoy 配置

虽然 Istio 1.3 专注于可用性,但高级用户仍然可以使用  Envoy  中不属于 Istio Networking API 的高级功能。1.3 版本增强了  EnvoyFilter  API 以允许用户完全自定义以下的 Envoy 配置:

  • LDS 返回的  HTTP/TCP  监听器以及 filter 链配置。

  • RDS 返回的  HTTP  路由配置。

  • CDS 返回的  Cluster  配置。

其他增强功能

  • istioctl  新增了许多调试功能,可以帮助你排查安装过程中出现的各种问题。详细信息可以查看 istioctl 的 参考页面

  • 区域感知负载均衡功能从实验分支转移到默认分支。现在 Istio 可以利用现有的位置信息来确定负载均衡池的优先级,并支持将请求转发到地理位置最近的后端。

  • Istio 开启双向 TLS 认证时可以更好地支持 headless service。

  • 从以下几个方面增强了控制平面的监控:

  • 添加新指标来监控配置的状态

  • 新增了 sidecar injector 的指标

  • 为  Citadel  添加了新的 Grafana 仪表板

  • 改进了  Pilot  仪表板,新增了几个关键指标

  • 新增了 ,可以帮助你选择合适的部署模型。

  • 重新组织了 中的内容,新增了一个 包含所有故障排除任务的章节 ,可以帮助你快速寻找所需信息。

详细内容请查看发布公告。

参考文章

云原生服务网格

Istio

华为云原生团队编写的《 云原生服务网格Istio 》,已经上架当当图书预售。 本书分为原理篇、实践篇、架构篇和源码篇,由浅入深地将 Istio 项目庖丁解牛并呈现给读者。无论是对于刚入门 Istio 的读者,还是对于已经在产品中使用 Istio 的读者,本书都极具参考价值,全书共分四个篇章,24 个章节,606 页,每个章节的页数占比统计如下图所示。

大家 可以直接通过下面的链接前往购买:

云原生是一种信仰 

码关注公众号

后台回复◉图谱◉领取史上最强 Kubernetes 知识图谱

点击  "阅读原文"  获取 更多资源!

:heart: 给个 「在看」 ,是对我最大的支持:heart:

我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章