
多年来,控制平面的可编程性一直以API为主。对F5而言,这意味着使用iControl。iControl最初采用SOAP接口,后来改用REST,让网络运维团队能够如其名称所示,控制BIG-IP配置的各个方面。
这种方法不会消失。API可提供许多组织管理应用服务部署所需的精细控制,也是与合作伙伴及新环境进行集成的关键。
这并不意味着API是实现BIG-IP运维自动化的“唯一正确方式”。事实上,随着应用和应用服务部署逐步采用更具持续性的方式,另一种方法应运而生。这种方法采用声明式模式,由操作人员描述配置的最终状态,并将实施责任交由目标系统承担。
采用声明式配置方法有很多理由,其中一个重要原因是它与基础设施即代码和持续部署等DevOps方法相契合。F5 AS3的目标正是提供声明式接口,减少对API的依赖,并增强实施全自动持续部署流水线的能力。更准确地说,应将其称为“配置即代码”,因为我们实际上并不是像“基础设施即代码”这一术语所表达的那样,通过代码构建基础设施。

AS3是一种声明式格式,使用JSON键值对描述BIG-IP配置。从虚拟IP、虚拟服务器,到所需的成员、池和节点,AS3提供了一种简单易读的配置描述格式。配置完成后,只需将其发送到BIG-IP,其中的AS3扩展会接收该配置并执行必要的命令,将其转换为功能完备且已部署的BIG-IP配置。
以下示例展示了如何将bigip.conf中的VIP和池描述转换为AS3声明:
bigip.conf | AS3 声明 |
ltm virtual /Common/serviceMain { destination /Common/10.0.1.10:80 ip-protocol tcp mask 255.255.255.255 pool /Common/web_pool source 0.0.0.0/0 translate-address enabled translate-port enabled}ltm pool /Common/web_pool {members { /Common/192.0.1.10:80 { address 192.0.1.10 } /Common/192.0.1.11:80 { address 192.0.1.11 } } monitor /Common/http} | "serviceMain": { "class": "Service_HTTP", "virtualAddresses": [ "10.0.1.10" ], "pool": "web_pool" }"web_pool": { "class": "Pool", "monitors": [ "http" ], "members": [ { "servicePort": 80, "serverAddresses": [ "192.0.1.10", "192.0.1.11" ] } ] } |
通过这种方式描述BIG-IP配置,运维人员可以采用“配置即代码”的方法来部署应用服务。借助存储库,可以自动拉取AS3配置并进行部署。除了用于自动化之外,存储库还提供了一种更现代、更易于集成的配置版本控制和管理方式,并可在配置出现问题时快速回滚。
例如,利用GitHub的Webhook功能,可以在提交后自动启动部署新的或更新后的AS3配置。为此,需要一个Webhook服务器等待接收新服务定义(AS3)已提交的通知。这些通知以hook的形式发送。hook是一个包含事件相关信息的JSON对象。收到通知后,Webhook服务器会解析hook,从GitHub检索其中引用的AS3,并启动配置流程。

您可以在GitHub上下载最新版本的AS3。有关部署AS3扩展的文档以及AS3配置示例可在此处获取。
Webhook原型由首席技术官办公室的开发者倡导者Nathan Pearce开发。如需了解更多将BIG-IP与CI/CD及遥测管道集成的原型和示例,可在GitHub上关注Nathan和F5 Networks。
关于作者

Lori MacVittie是F5首席技术官办公室的杰出工程师兼首席技术布道师,在应用交付、自动化战略和基础设施领域拥有深厚的专业知识。无论是为AI智能体定义防护机制、剖析脆弱的多云架构,还是探索可扩展系统的极限,她都善于化繁为简。她在应用开发、IT架构以及网络和系统运维领域拥有30多年的行业经验。加入F5之前,她曾担任技术编辑,并因出色表现获得奖项。 MacVittie拥有计算机科学硕士学位,著述颇丰,出版作品涵盖安全、云和企业架构领域。她还热衷于桌面游戏和电子游戏,并且对奶酪有着毫不掩饰的鲜明见解。
Lori Mac Vittie 的更多博客文章相关博客文章
Thingbot正转变为攻击平台
Lori MacVittie重点介绍了F5 Labs对2018年1月至6月全球物联网设备攻击的研究,并指出了其中令人警醒的影响。物联网设备不仅持续遭到利用,还被转变为攻击平台,这意味着攻击者可以更充分地利用这个必然增长的市场。
借助F5全新Quick Start,在AWS上快速开展业务
在AWS re:Invent开幕前,我们很高兴与大家分享F5与AWS之间全新的Quick Start集成。F5的Tom Atkins将介绍该服务如何启动、配置和运行在AWS上部署工作负载所需的计算、网络、存储及其他AWS服务。