欢迎user
Chef是开源的配置管理工具。其实现机制为:用户使用Ruby语言将需要对设备进行的配置写成脚本,并保存到服务器中,再通过服务器把配置脚本下发到各网络设备,实现对网络设备的集中配置管理。
图1-1 Chef网络架构
如图1-1所示,Chef采用“服务器端/客户端”网络架构,由Chef server、Chef client和Workstation构成。
Chef server用于对Chef client进行集中管理,其主要功能如下:
· 集中保存配置脚本(Cookbook),并根据用户要求将配置脚本下发到Chef client。
· 为Chef client和Workstation分别创建后缀为.pem的密钥文件。
Workstation提供了用户与Chef server交互的接口。用户需要在Workstation上创建、编辑配置脚本,并将配置脚本上传到Chef server。
Workstation可以与Chef server安装在同一台服务器上。
Chef client即为被Chef server管理的网络设备。Chef client从Chef server获取并运行配置脚本,配置脚本运行完成后,设备使用新下发的配置运行。
H3C设备作为Chef client运行,支持版本12.3.0。
Chef使用Ruby语言定义配置项,各配置项的集合即为一个配置脚本,在Chef中,配置项叫做资源。
Chef划分了多个不同类型的资源,每个类型的资源都由名称、属性和动作构成,每个属性对应功能的一个配置,属性值即为该配置应达到的状态。在对Chef资源进行配置时,通过为不同属性赋值,从而指定设备应该达到的最终状态,而不需要关心如何达到这些状态。
H3C定义了一系列Chef资源,Chef server可以在配置脚本中使用这些资源对设备进行配置。