NGINX迎来了“Ansible之年”。
我们倡导以应用为中心的应用交付方法。这种方法可在应用出现瓶颈时进行智能扩展,无需扩展整个应用的基础设施。要实现这一方法,开发者使用的庞大CI/CD工具生态系统至关重要。作为广受欢迎的自动化工具之一,Ansible可帮助NGINX用户快速自动执行应用生命周期中的重复任务。因此,我们投入了大量资源来开发更多Ansible角色和集合,让NGINX环境的自动化变得更轻松。在过去5年中,我们的Ansible集成已从一篇博客文章发展到2个认证集合和20多个角色,其中大多数都是在过去9个月内创建的!
为何使用Ansible预配NGINX?
使用Ansible预配NGINX有以下几个重要原因:
- 您可能已经在使用Ansible;即使尚未使用,也至少正在认真考虑尝试Ansible。否则,您也不会看到这里!
- 去中心化、具有韧性和冗余能力的多云部署正变得越来越普遍。Ansible提供所需工具,帮助您在多个目标主机上轻松安装和配置NGINX软件。
- 将Ansible作为唯一可信信息源,可以集中洞察所有NGINX部署,获得出色的可见性。所有部署信息都存储在Ansible playbook中;这些playbook使用YAML编写,而YAML是一种易于阅读的配置语言。
- 我们的集合已通过Red Hat认证,并获得其全面支持。如果出现问题,Red Hat屡获殊荣的支持服务可帮助您恢复正常。
我们的Ansible发展历程
在介绍新的NGINX Core集合之前,先来回顾一下我们使用Ansible的历程。
2015年:
- 发布了一篇博客,介绍如何创建用于安装NGINX和NGINX Plus的Ansible playbook。一位社区成员指出,我们的博文很快就会过时,因此需要开发并维护一个官方Ansible角色。事实证明,这一建议是正确的。
2017年:
- 推出首批两个Ansible角色,分别用于执行NGINX和NGINX Plus的基本安装。
2018年:
- 将最初的两个角色合并为一个nginx角色,用于安装NGINX和NGINX Plus。
- 增强了nginx角色,使其能够配置NGINX、安装NGINX Unit和NGINX Amplify。
2020年:
- 发布了16个新角色和一个认证集合,适用于NGINX Controller。
- 首次推出nginx_app_protect角色,用于安装和配置我们的新安全解决方案NGINX App Protect。
- 将nginx角色拆分为三个独立角色,并发布了第二个认证集合NGINX Core。
演进历程:nginx角色
The nginx角色是Ansible Galaxy上广受欢迎的角色之一。自2018年推出以来,下载量已超过700,000次。不过,尽管它很受欢迎,我们仍收到反馈,认为它过于臃肿,安装耗时太长。有些人喜欢功能齐全的瑞士军刀™,但采用手术刀式的方法也有诸多优势(Ansible本身在引入集合时也采用了这种方法)。基于这一考虑,我们决定将nginx角色拆分为三个独立角色,以提高灵活性和速度:
- nginx,用于安装NGINX和NGINX Plus
- nginx_config,用于配置NGINX和NGINX Plus
- nginx_unit,安装NGINX Unit
NGINX Core Collection 简介
我们一直致力于改进Ansible产品。在Ansible 2.10引入集合后,我们创建了一个专注于“核心”产品的NGINX集合,提供用于快速、安全地进行Web服务、反向代理和负载均衡的软件。因此,NGINX Core集合包含3个角色:上一节提到的两个用于安装和配置NGINX及NGINX Plus的角色(nginx和nginx_config),以及用于安装和配置NGINX App Protect的nginx_app_protect角色。NGINX App Protect是适用于NGINX Plus的全功能WAF模块。
使用NGINX Core集合与使用角色一样简单。要安装该集合,请运行:
$ ansible-galaxy collection install nginxinc.nginx_core然后,在Ansible playbook的开头添加以下几行,即可开始在playbook中使用该集合的角色:
---
- collections:
- name: nginxinc.nginx_core
version: 0.1.3NGINX Core集合还附带一系列涵盖多种用例的playbook,从简单安装NGINX,到在几台Web服务器前设置由NGINX App Protect保护的反向代理。也可以查看每个角色的molecule目录中包含的playbook,获取各角色最新且可用的示例。
在NGINX Core和NGINX Controller集合之间进行选择
您可能想知道,我们提供的两个NGINX集合中,哪一个更适合您。答案通常取决于您的用例。
- NGINX Core:如果您有以下需求,请选择此集合:
- 是NGINX Open Source用户
- 习惯直接管理NGINX Plus
- 希望配置 NGINX App Protect
- 不使用NGINX Controller
- NGINX Controller:如果您订阅了NGINX Controller,请选择此集合。
开始使用 NGINX 角色和集合
如果您订阅了Ansible Automation Platform,可以在Ansible Automation Hub上访问经过认证的NGINX集合(位于nginxinc命名空间中)。此外,还可以在Ansible Galaxy上找到我们的角色和集合的上游社区版本。欢迎参加10月13日至14日举办的线上AnsibleFest,并参与Alessandro关于NGINX Core集合的专题讲座。您还可以参观我们的线上展位,与作者交流,独家观看演示和网络研讨会,并有机会赢取纪念品!
我们将这些集合视为一个起点。随着NGINX和社区的共同努力,它们将不断发展。欢迎为这些集合贡献力量,并告诉我们哪些新功能对您很重要。
如果想体验NGINX Plus和NGINX App Protect,可立即申请30天免费试用,或联系我们,讨论您的用例。
Red Hat与NGINX携手合作,充分发挥双方优势!我们共同:

相关博客文章
NGINX Plus R26 正式发布
NGINX Plus R26通过缓存JSON Web密钥集加快JWT验证,并强化TLS握手,从而提升安全性。NGINX JavaScript的新功能包括增强对异步函数的支持,以及实现WebCrypto API。
使用NGINX App Protect DoS保护gRPC应用,抵御严重的DoS攻击
gRPC具备开发人员设计和部署现代应用所需的速度与灵活性,但其开放性也使其极易受到第7层DoS攻击。NGINX App Protect DoS可保护gRPC应用免受此类破坏性攻击。
Ingress Controller 选型指南(第 2 部分):风险与面向未来的规划
了解选择错误的Ingress控制器可能带来的风险,以及如何从关键方面着手,让您的选择更好地适应未来需求。
NGINX Plus R19 正式发布
NGINX Plus R19扩展了监控功能,不仅提供更多指标,还新增了指标分析方式;增加试运行模式,用于测试限速效果;增强键值存储,以支持IP地址范围;并使限速更加动态。
NGINX现已正式加入F5
NGINX现已正式成为F5的一部分。Gus Robertson现任F5 NGINX业务部门负责人。他阐述了两家公司在人才、文化和愿景方面融合的价值,以及双方将如何携手增强NGINX的开源产品和商业产品。

