更轻松地部署和升级 NGINX Service Mesh
原文作者:Amir Rawdat of F5
原文链接:更轻松地部署和升级 NGINX Service Mesh
转载来源:NGINX 开源社区
NGINX 唯一中文官方社区 ,尽在 nginx.org.cn
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 存储库:
然后,将带有所选 release-name 的 chart 安装至专用命名空间。
有关部署支持 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 Service Mesh 时有两种选择:在安装更新的版本前移除正在运行的部署,或者将更新的版本部署至单独的集群并将用户迁移进来。这两种方法都不太理想,因为在更新前,您必须重新部署由网格管理的服务。
NGINX Service Mesh 1.1.0 引入了就地升级支持,可减少中断体验。此外,所有所需容器镜像和 NGINX Service Mesh 控制平面均会自动升级,自定义资源定义 (CRD) 也可维持不变。
您可以安装 nginx-meshctl
命令行工具并运行以下命令,从而将当前部署升级到最新版本。
注:执行就地升级时,数据平面 sidecar 在重新部署或纵向扩展前继续通过先前版本运行。如果进行了纵向扩展,新的 Pod 将运行最新版 sidecar。
结语
NGINX Service Mesh 1.1.0 继续致力于提升用户体验,您可以将其部署至您的开发、测试及生产环境,并在
NGINX 唯一中文官方社区 ,尽在 nginx.org.cn
评论