你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Open Service Mesh AKS 附加产品

Open Service Mesh (OSM) 是一种轻型、可扩展的云原生服务网格,可让用户统一地管理、保护和获取高度动态微服务环境现成的可观测性功能。

OSM 在 Kubernetes 上运行基于 Envoy 的控制平面,并且可通过 SMI API 得到配置。 OSM 的工作原理是在每个应用程序实例中注入一个 Envoy 代理作为挎斗容器。 Envoy 代理包含并执行有关访问控制策略的规则,实现路由配置,并捕获指标。 控制平面会持续配置 Envoy 代理,以确保策略和传递规则是最新的,并确保代理处于正常状态。

OSM 项目是由 Microsoft 发起的,此后接受了捐赠,并由云原生计算基金会 (CNCF) 进行管理。

安装和版本

通过使用 Azure CLIBicep 模板启用 OSM 加载项,可将 OSM 添加到 Azure Kubernetes 服务 (AKS) 群集中。 OSM 加载项提供与 AKS 集成的完全受支持的 OSM 安装。

重要

根据群集运行的 Kubernetes 版本,OSM 加载项会安装不同版本的 OSM:

  • 如果群集运行 Kubernetes 1.24.0 或更高版本,OSM 加载项会安装 OSM 1.2.0 版。
  • 如果群集运行的 Kubernetes 版本介于 1.23.5 和 1.24.0 之间,OSM 加载项会安装 OSM 1.1.1 版。
  • 如果群集运行的 Kubernetes 版本低于 1.23.5,OSM 加载项会安装 OSM 1.0.0 版。

功能和特性

OSM 提供以下功能和特性:

  • 通过启用相互 TLS (mTLS) 来保护服务与服务之间的通信。
  • 使用 Envoy 挎斗代理自动注入,将应用程序加入到 OSM 网格中。
  • 以透明方式配置部署上的流量转移。
  • 为服务定义并执行细化的访问控制策略。
  • 使用对应用程序指标的观察和见解来监视和调试服务。
  • 与外部证书管理集成。
  • 与现有的入口解决方案(如 NGINXContourWeb 应用程序路由)集成。 要详细了解入口如何使用 OSM,请参阅使用入口管理对群集中服务的外部访问。 有关将 OSM 与 Contour 集成以注入的示例,请参阅 通过 Contour 注入。 有关将 OSM 与使用 networking.k8s.io/v1 API(如 NGINX)的入口控制器集成的示例,请参阅通过 Kubernetes Nginx 入口控制器。 有关使用 Web 应用程序路由(自动与 OSM 集成)的更多详细信息,请参阅 Web 应用程序路由

示例方案

OSM 可用于通过许多不同的方式帮助进行 AKS 部署。 例如:

  • 加密群集中部署的服务终结点之间的通信。
  • 启用 HTTP/HTTPS 和 TCP 流量的流量授权。
  • 在 A/B 测试或 Canary 部署的两个或更多服务之间配置加权流量控制。
  • 从应用程序流量收集和查看 KPI。

附加限制

OSM AKS 外接程序具有以下限制:

  • 必须在安装后使用 kubectl patch 启用端口 IP 地址和端口范围排除的 iptables 重定向。 有关更多详细信息,请参阅 iptables 重定向
  • 加入需要访问 IMDS、Azure DNS 或 Kubernetes API 服务器的网格 Pod 须使用全局出站 IP 范围排除来将其 IP 地址设置为排除的出站 IP 范围的全局列表。
  • 目前,OSM 不支持 Windows Server 容器。

后续步骤

使用 Azure CLIBicep 模板启用 OSM 外接程序后,你可以: