如果已经开始自动化F5应用服务,您可能熟悉Ansible等自动化工具。目前,F5提供115个Ansible模块,可用于自动化和管理各种F5活动与配置,例如许可、负载均衡、全局可用性、流量和安全策略等。根据客户需求,这些Ansible模块由F5构建并提供支持。为支持更多用例并简化应用服务部署,F5将发布Application Services 3(AS3),作为F5 Automation Toolchain的一部分(如需了解更多背景信息,请参阅AS3 User Guide)。
在与客户探讨如何使用Ansible实现F5自动化时,我们发现,一些经验丰富的自动化专业人员希望提高现有自动化方案的可持续性、稳健性和可移植性。我们经常听到这样的问题:“我使用Ansible实现大部分应用基础设施的自动化,现在又了解到AS3。AS3似乎和Ansible一样,都可以在F5 BIG-IP上配置应用服务。这两种解决方案实现的功能是否相同?是否有建议采用的方法?”
这里不讨论二选一的问题。合适的方法取决于您要解决的问题,有时还取决于公司的政策。本文将结合相关背景来回答这个问题,并介绍如何让这两种工具优势互补。感兴趣吗?请继续阅读……
AS3是一个BIG-IP API扩展,可通过单一声明式接口,使用JSON文档在BIG-IP上配置第4至第7层应用服务。AS3计划按月发布,通常在每月月初发布;F5目前已为TMOS 12.1.x及更高版本提供AS3支持。
何时使用AS3、何时使用Ansible模块,以及何时同时使用二者
简单来说,选择AS3还是Ansible,取决于您更倾向于命令式还是声明式配置方法。与命令式方法相比,AS3支持以声明式方法配置F5。将AS3与Ansible结合使用,可以在声明中采用行业标准术语(例如WAF),对配置进行抽象和模板化。此外,随着AS3不断增加新功能,将这些功能添加到应用配置中也会更加容易。这是因为在逐步完善AS3声明时,无需按特定顺序安排任务;AS3会确定所需步骤和操作顺序。
总体而言,如果希望使用声明式接口,通过JSON将整个BIG-IP配置模板化,AS3是一个不错的选择。如果希望继续使用命令式方法,或主要执行临时操作和任务,Ansible模块是一个不错的选择。这两种方法没有对错之分,具体取决于自动化策略中的要求、需求和限制。
使用Red Hat Ansible Tower实现企业级F5自动化
如果您已在整个数据中心使用Ansible并利用其生态系统,现在有2种选择:
- 通过F5 Ansible模块使用Ansible配置L4-L7服务
- 使用Ansible通过AS3配置L4-L7服务
这意味着,如果要使用开源Ansible项目实现自动化,您将拥有更大的灵活性:既可以使用独立的BIG-IP模块自动执行任务,现在也可以使用AS3通过模板实现自动化。

要使用Ansible和AS3配置F5 Application Services,可以使用F5构建的bigip_appsvcs_extension模块或Ansible的URI模块。
要使用Ansible模块配置F5 App Services,可以使用Ansible开源发行版中提供的内置模块。
那么,如何将自动化F5环境投入运营?如何让自动化解决方案同时获得F5和Red Hat的支持?您的分布式团队是否需要基于角色的访问控制(RBAC)、定时运行自动化任务或RESTful API等高级自动化功能,以便集成到其他更大型的工作流中?这些问题都可以通过Red Hat Ansible Tower找到答案。F5客户可以进一步发挥Red Hat Ansible Tower的强大功能,推动CI/CD流水线更高效地运行。
Red Hat Ansible Tower既保留了Ansible Playbook开发的自由度,又增加了网络运维人员可能需要的防护功能,尤其适合不熟悉自动化的人员。借助Red Hat Ansible Tower,团队可以灵活地通过AS3或F5 Ansible模块实现F5环境自动化,同时持续应用和验证配置。
开始使用
为帮助您快速入门,这里提供一段2 分钟的AS3概览视频,以及一个沙盒Ansible环境,重点介绍使用自动化工具时抽象化的优势。熟悉这一概念后,也可以试用galaxy上的F5 Ansible角色。
关于作者
相关博客文章
Thingbot正转变为攻击平台
Lori MacVittie重点介绍了F5 Labs对2018年1月至6月全球物联网设备攻击的研究,并指出了其中令人警醒的影响。物联网设备不仅持续遭到利用,还被转变为攻击平台,这意味着攻击者可以更充分地利用这个必然增长的市场。
借助F5全新Quick Start,在AWS上快速开展业务
在AWS re:Invent开幕前,我们很高兴与大家分享F5与AWS之间全新的Quick Start集成。F5的Tom Atkins将介绍该服务如何启动、配置和运行在AWS上部署工作负载所需的计算、网络、存储及其他AWS服务。