原文作者:Owen Garrett of F5
原文链接:在 Kubernetes 中部署利用交付服务(第 1 局部)– NGINX
转载起源:NGINX 官方网站
NGINX 惟一中文官网社区,尽在 nginx.org.cn
本文是以下系列博文中的一篇:
- 在 Kubernetes 中部署利用交付服务(第 1 局部)(本文)解释了为什么因分治而重复使用的应用服务反而能够进步整体效率:因为 NetOps 和 DevOps 团队有不同的要求,所以他们会抉择最适宜他们特定需要的工具。
- 在 Kubernetes 中部署利用交付服务(第 2 局部) 以 WAF 为例,就利用交付服务在 Kubernetes 环境中的部署地位提供了领导。您能够依据本人的需要,以基于每个 Service 或基于每个 POD 的形式,将 WAF 部署在 Kubernetes 环境的“前门”或 Ingress Controller 上。
如果要说随同 Kubernetes 和云原生架构的增长而产生的最大扭转,那就是 DevOps 团队和利用所有者可能更间接地管制利用的部署、治理和交付形式。
古代利用依赖一套日益成熟的配套“利用交付服务”以确保其在生产环境中胜利运行。利用与其配套服务之间的界线曾经含糊,DevOps 工程师慢慢发现他们须要本人左右或治理这些服务。
咱们通过几个具体的例子理解一下:
- 灰度和蓝绿部署 —— DevOps 团队将利用推动到生产环境中,有时每天会推送屡次。他们踊跃应用负载均衡器或利用交付控制器 (ADC) 的流量导向性能,先应用大量流量验证新的利用实例,而后再将所有流量从旧实例切换到新实例。
- DevSecOps 流水线 —— DevOps 团队间接将安全策略构建到 CI/CD 流水线中,例如 Web 利用防火墙 (WAF) 规定集。这些策略被当作又一个利用工件来解决,被主动部署到测试、预生产及生产环境中。尽管 SecOps 团队能够定义安全策略,但 DevOps 执行在生产环境中的理论部署。
这些例子都与咱们所说的“利用交付服务”无关 —— 不属于利用的功能性需要,但却是确保利用胜利运行不可或缺的重要能力。这些性能可能是缓存、负载平衡、身份验证、WAF 和拒绝服务(DoS)措施,目标是提供杰出的可扩展性、性能减速或平安防护。
NetOps 和 DevOps 都关注利用交付服务
DevOps 的衰亡一点没有减弱 NetOps 团队的作用,后者依然负责整个平台及其所需的利用交付服务的经营。NetOps 须要管制这些全局性的服务,这一点依然至关重要。事实上,当 NetOps 和 DevOps 都关注利用交付服务(例如 ADC 或 WAF)时,咱们常常会发现利用交付服务的分而治之。这不是效率低下,而是反映了各方在应用该服务时的不同需要和指标:
- NetOps 和 SecOps 负责企业基础架构的整体安全性、性能和可用性。掂量其指标的规范是可靠性、失常运行工夫、提早情况以及建设平安边界的能力。他们应用的工具通常是多租户的(治理多个利用和多个业务线的流量)、以基础架构为核心的且长久应用的。同样的,他们应用的监控和警报工具也是以基础架构为核心的。
- DevOps 和 DevSecOps 负责其相干业务线须要经营的每个利用。掂量其指标的规范在于是否疾速迭代、轻松将新服务推向市场,并能响应一直变动的业务需要。零碎呈现故障很失常——对他们来说,可靠性和失常运行工夫是第二位的,最重要的是要疾速排除故障并解决不可避免且不可预感的生产问题。他们应用的工具往往是基于软件(通常是开源)的,很容易通过配置文件和 API 实现自动化,并依据须要迅速部署和扩大
有时分而治之反而会进步经营效率
为什么性能反复不会导致效率低下?简略地说,因为 NetOps 和 DevOps 都须要应用某些性能,但他们的指标、指标和经营形式却截然不同。因冀望 DevOps 和 NetOps 共享一个独特的 ADC(比如说)而造成抵触并导致各自效率低下的案例不可胜数。
NetOps 和经营团队最关怀的往往是位于基础架构的前门、更靠近客户的全局服务。DevOps 和利用团队最关怀的则是部署地位更靠近利用代码的、针对特定利用的服务。而他们的关注点通常会在两头重合。
您能够依据每个团队的需要为其提供适合的工具,从而进步经营效率。例如,通过多年的产品开发,F5 的 BIGIP ADC 基础架构曾经可能无效满足 NetOps 的需要。NGINX 的软件 ADC 可轻松通过 CI/CD 流水线部署和自动化,可能无效满足 DevOps 用户的需要。
审慎安顿每个利用交付服务的所有权和责任归属是晋升经营效率的外围。例如,当部署两层 ADC 或负载均衡器时:
- NetOps 可能治理所有网络流量、利用安全策略、优化路由,并监控基础架构的衰弱和性能。稳固且妥善治理的配置可最大限度地缩小变动带来的危险,并最大可能地减少失常运行工夫。通过将利用交付服务部署在数据中心的前门,NetOps 可创立一个平安的托管边界,让所有流量必须流经此处进行查看。
- DevOps 团队可齐全管制按利用部署的 ADC,依据利用和经营流程自在优化和调整 ADC 配置。他们能够调整必要的参数,以缓存和减速利用,或优化健康检查、超时和错误处理。他们还能够平安地进行蓝绿部署及其他部署,而不用放心同一基础架构上的其余无关服务运行中断。
通过将 ADC 性能搁置在两个不同的地位(基础架构的前门和凑近利用的地位),企业可实现专门化和精准管制,从而更高效地部署和经营业务所依赖的各项服务。
如欲了解本文后续内容,请点击《在 Kubernetes 中部署利用交付服务(第 1 局部)》查看后续内容。
更多资源
NGINX 惟一中文官网社区,尽在 nginx.org.cn
更多 NGINX 相干的技术干货、互动问答、系列课程、流动资源:
开源社区官网:https://www.nginx.org.cn/
微信公众号:https://mp.weixin.qq.com/s/XVE5