NGINX服务网格是什么

发布时间:2021-11-30 12:00:21 作者:iii
来源:亿速云 阅读:202

这篇文章主要介绍“NGINX服务网格是什么”,在日常操作中,相信很多人在NGINX服务网格是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”NGINX服务网格是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

NSM 通过使用户集中配置来解决以上挑战:

NSM 通过将加密和身份验证无缝应用于容器流量来确保零信任环境中的应用程序安全。它具有对进出流量的可观察性和洞察力,来帮助用户快速准确地部署和解决问题。它还提供了细粒度的流量控制,使 DevOps 团队可以部署和优化应用程序组件,同时使 Dev 团队可以构建并轻松连接其分布式应用程序。

什么是 NGINX 服务网格?

NSM 有一个用于东西向(服务到服务)流量的统一数据平面,以及一个本地集成的用于南北向流量的 NGINX Plus 入口控制器,它由单独的一个控制平面进行管理。

控制平面是为 NGINX Plus 数据平面设计和优化的,并定义了分配给 NGINX Plus sidecar 容器的流量管理规则。

NGINX 服务网格架构图

通过 NSM,sidecar 容器代理与网格中的每个服务一同部署,它们与以下开源解决方案集成:

功能和组件

NGINX Plus 作为数据平面跨越了 sidecar 代理(东西方流量)和入口控制器(南北流量),同时拦截和管理服务容器之间的流量。功能包括:

NGINX 服务网格入门

要开始使用 NSM,您首先需要:

•有一个可以访问的 Kubernetes 环境。NGINX Service Mesh 可以支持多个 Kubernetes 平台,包括 Amazon Kubernetes 弹性容器服务 (EKS),Azure Kubernetes 服务 (AKS),Google Kubernetes 引擎 (GKE),VMware vSphere 和独立的裸机群集。•在要安装 NSM 的机器上安装 kubectl 命令行程序。•下载 NGINX Service Mesh 发布包。该软件包包括 NSM 镜像,需要将镜像上传到 Kubernetes 集群可访问的私有容器仓库中。该软件包还包括用于部署 NSM 的 nginx-meshctl 二进制文件。

要使用默认设置部署 NSM,请运行以下命令。在部署过程中,该跟踪确认网格组件的成功部署,最后确认 NSM 在其自己的命名空间中运行:

$ DOCKER_REGISTRY=your-Docker-registry ; MESH_VER=0.6.0; \./nginx-meshctl deploy  \--nginx-mesh-api-image "${DOCKER_REGISTRY}/nginx-mesh-api:${MESH_VER}" \--nginx-mesh-sidecar-image "${DOCKER_REGISTRY}/nginx-mesh-sidecar:${MESH_VER}" \--nginx-mesh-init-image "${DOCKER_REGISTRY}/nginx-mesh-init:${MESH_VER}" \--nginx-mesh-metrics-image "${DOCKER_REGISTRY}/nginx-mesh-metrics:${MESH_VER}"Creatednamespace"nginx-mesh".CreatedSpiffeID CRD.WaitingforSpire pods to be running...done.DeployedSpire.Deployed NATS server.Created traffic policy CRDs.DeployedMesh API.DeployedMetrics API Server.DeployedPrometheusServer nginx-mesh/prometheus-server.DeployedGrafana nginx-mesh/grafana.Deployed tracing server nginx-mesh/zipkin.All resources created.Testing the connection to the ServiceMesh API Server...Connected to the NGINX ServiceMesh API successfully.NGINX ServiceMeshis running.

对于其他命令选项,包括非默认设置,请运行:

$ nginx-meshctl deploy –h

要验证 NSM 控制平面在 nginx-mesh 命名空间中是否正常运行,请运行:

$ kubectl get pods –n nginx-meshNAME                                 READY   STATUS    RESTARTS   AGEgrafana-6cc6958cd9-dccj6             1/1Running02d19hmesh-api-6b95576c46-8npkb1/1Running02d19hnats-server-6d5c57f894-225qn1/1Running02d19hprometheus-server-65c95b788b-zkt95   1/1Running02d19hsmi-metrics-5986dfb8d5-q6gfj         1/1Running02d19hspire-agent-5cf871/1Running02d19hspire-agent-rr2tt                    1/1Running02d19hspire-agent-vwjbv                    1/1Running02d19hspire-server-02/2Running02d19hzipkin-6f7cbf5467-ns6wc              1/1Running02d19h

根据设置手动或自动注入策略的部署选项,默认情况下,NGINX sidecar 代理会注入已部署的应用程序中。要了解如何禁用自动注入,请参阅我们的 文档。例如,如果我们将 sleep 应用程序部署在默认名称空间中,然后检查 Pod,我们会看到两个容器正在运行—— sleep 应用程序和关联的 NGINX Plus sidecar 容器:

$ kubectl apply –f sleep.yaml $ kubectl get pods –n defaultNAME                     READY   STATUS    RESTARTS   AGEsleep-674f75ff4d-gxjf2   2/2Running05h23m

您还可以通过运行以下命令以将 sidecar 暴露到本地,从而使用 本地 NGINX Plus 仪表板 监视 sleep 应用程序:

$ kubectl port-forward sleep-674f75ff4d-gxjf2 8080:8886

然后在浏览器中导航到 http://localhost:8080/dashboard.html 您还可以连接到 Prometheus 服务器以监视 sleep 应用程序。

您可以在 Kubernetes 中使用自定义资源来配置流量策略,例如访问控制,速率限制和熔断。

到此,关于“NGINX服务网格是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

推荐阅读:
  1. nginx是什么
  2. 全方位详解Service Mesh(服务网格)

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

nginx

上一篇:nginx websocket有什么特点

下一篇:C/C++ Qt TreeWidget单层树形组件怎么应用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》