NGINX.COM
Web Server Load Balancing with NGINX Plus

Service mesh(服务网格) 正迅速成为云原生堆栈的重要组成部分,尤其是对于 Kubernetes 平台的用户而言。服务网格提供了关键的可观察性、安全性及流量控制,这样您的 Kubernetes 应用就无需实施这些特性,从而使开发人员能够专注于优化业务逻辑。

NGINX Service Mesh 是我们全面集成式的服务网格平台。它提供了服务网格的所有优势,同时利用基于 NGINX Plus 的数据平面支持 mTLS、流量管理及高可用性等关键特性。

NGINX Service Mesh 1.1.0 版引入了三个关键增强功能,有助于在 Kubernetes 中更轻松地部署并管理我们的生产就绪型服务网格Helm 支持物理隔离安装就地升级

Helm 支持

NGINX Service Mesh 包括 nginx-meshctl CLI 工具,可作为任何 CI/CD 流水线的一部分进行完全可脚本化的安装、升级和移除。但 CLI 不一定是管理 Kubernetes 服务的首选方案。NGINX Service Mesh 1.1.0 版增加了对 Helm的支持,它是一套常见的广受推崇的工具,支持自动创建、配置和封装应用与服务并将其部署至 Kubernetes。

要在 NGINX Service Mesh 中使用 Helm,首先需要添加 helm 存储库:

# helm repo add nginx-service-mesh https://helm.nginx.com/nginx-service-mesh
# helm repo update

然后,将带有所选 release-name 的 chart 安装至专用命名空间。

# helm install release-name nginx-service-mesh –n nginx-mesh-namespace

有关部署支持 Helm 的 NGINX Service Mesh 的更多信息,请参阅我们的文档

物理隔离安装

根据标准的 Kubernetes 实践,默认情况下,NGINX Service Mesh 在部署时会从多个 Kubernetes 支持的仓库中拉取控制平面和数据平面的容器镜像。一些镜像来自公共 NGINX 容器仓库,而其他镜像(例如 Prometheus 和 Grafana)则来自公共仓库。这一模型更适用于具有公共出站访问的 Kubernetes 环境,并不适合没有直接公共出站访问的受限的、被锁定的且更安全的 Kubernetes 环境。

NGINX Service Mesh 1.1.0 版引入了物理隔离安装支持,您可以预拉取镜像,并将其推送至仅可从内部 Kubernetes 环境中访问的自有专用镜像仓库。

当将预拉取的镜像推送到您的私有仓库服务器时,您必须使用文档文档中指定的镜像名称和标签。然后,您可在 nginx-meshctl deploy 命令中添加 --disable-public-images,从而命令 NGINX Service Mesh 从私有仓库服务器中拉取镜像:

# nginx-meshctl deploy --registry-server your-private-registry --disable-public-images

就地升级

之前,升级 NGINX Service Mesh 时有两种选择:在安装更新的版本前移除正在运行的部署,或者将更新的版本部署至单独的集群并将用户迁移进来。这两种方法都不太理想,因为在更新前,您必须重新部署由网格管理的服务。

NGINX Service Mesh 1.1.0 引入了就地升级支持,可减少中断体验。此外,所有所需容器镜像和 NGINX Service Mesh 控制平面均会自动升级,自定义资源定义 (CRD) 也可维持不变。

您可以安装 nginx-meshctl 命令行工具并运行以下命令,从而将当前部署升级到最新版本。

# nginx-meshctl upgrade

注:执行就地升级时,数据平面 sidecar 在重新部署或纵向扩展前继续通过先前版本运行。如果进行了纵向扩展,新的 Pod 将运行最新版 sidecar。

结语

NGINX Service Mesh 1.1.0 继续致力于提升用户体验 — 请参阅版本说明,了解有关这一版本的更多信息,并在 F5 下载页面上免费下载 NGINX Service Mesh 以立即开始使用。您可以将其部署至您的开发、测试及生产环境,并在GitHub 上提交反馈。不确定是否准备好使用服务网格?请观看由服务网格专家主讲的网络研讨会“是否准备好使用服务网格?从心动转向行动”。

为了充分利用 NGINX Service Mesh,我们建议搭配使用 NGINX Ingress Controller,以便能够同时管理出入向流量。以下演示和 NGINX 工程师 Kate Osborn 撰写的相关博文介绍了如何结合使用 NGINX Service Mesh 和基于 NGINX Plus 的 NGINX Ingress Controller,从而简化 Kubernetes 出入向流量管理。立即下载 30 天免费试用版 NGINX Ingress Controller,或与我们联系以讨论您的用例。

Hero image
Kubernetes:
从测试到生产

通过多种流量管理工具提升弹性、可视性和安全性

关于作者

Amir Rawdat

解决方案工程师

Amir Rawdat 是 NGINX 的技术营销工程师,专门负责各种技术内容的撰写。他在计算机网络、计算机编程、故障排除和内容撰写方面拥有深厚的背景。此前,Amir 是诺基亚(Nokia)的客户应用工程师。

关于 F5 NGINX

F5, Inc. 是备受欢迎的开源软件 NGINX 背后的商业公司。我们为现代应用的开发和交付提供一整套技术。我们的联合解决方案弥合了 NetOps 和 DevOps 之间的横沟,提供从代码到用户的多云应用服务。访问 nginx-cn.net 了解更多相关信息。