NEWS 新闻动态 > 新闻详情

技术分享 | 应用Chef实现云端自动化配置管理

futong 发表于:2019-11-25
摘要:在云环境中,自动化部署是一项重要的工作,当前对于虚机的配置以及软件和应用的自动化部署,很多企业级云平台都采用了Chef。Chef 是 IT 自动化平台,也被称为部署自动化工具和 DevOps 使能者,可让用户创建、部署、变更和管理基础设施运行时的环境和应用。今天将与您分享Chef在云管理服务中的应用。

Chef组件

Chef是一款自动化服务器配置管理工具,可以对所管理的对象实行自动化配置,如系统管理、安装软件等,开发语言是Ruby。Chef由Chef Server、Chef Workstation和Chef Node三大组件组成。

Chef Server:是核心服务器,维护了一套配置脚本(Cookbook),与每个被管节点(Chef Node)交互并给出配置指令。

Chef Workstation:提供了Chef Server交互的接口,我们在Workstation上创建定义Cookbook,并将Cookbook上传到Chef Server上,以保证被管机器能从Chef Server上取得最新的配置指令。

Chef Node:是安装了chef-client并注册了的被管理节点,可以是物理机或者虚拟机或者其他对象;Chef Node每次运行chef-client时都会从Chef Server端取得最新的配置指令(Cookbook)并按照指令配置自己。

一套Chef环境包含一个Chef Server,至少一个Chef Workstation,以及一到多个Chef Node。

chef.jpg

Chef工作站

首先在工作站上创建和测试代码,然后再将其部署到其他环境中。它可以选择任何操作系统,无论是Linux、MacOS还是Windows。

安装文本编辑器来编写代码,并安装ChefDK以获取测试代码的工具,使用的主要测试工具是Cookstyle、ChefSpec、ChefInSpec和Test Kitchen等。在编写代码时,使用资源来描述基础结构,资源对应于某些基础结构,例如文件、模板或程序包等。每个资源都声明系统的一部分应处于什么状态,而不声明如何到达该状态。

Chef提供了许多可供使用的资源,还可以利用社区食谱中附带的资源,或编写自己的基础结构专用资源。Chef食谱是一个文件,该文件将相关资源分组,例如配置Web服务器、数据库服务器或负载平衡器所需的所有资源。

应用场景

富通云腾运用Chef自动化部署虚拟机VM 、部署监控报警、部署自定义账单等复杂性重复操作,同时还可以根据用户实际业务场景提供定制化服务。

系统创建与安装服务:根据用户需求自动化为用户在云平台创建虚拟机及安装操作系统、数据库、中间件等软件产品及公有云各类产品的服务。

系统升级与补丁加固服务:根据系统需求并获得用户认可后,为服务范围内的系统自动化升级及打补丁。

系统监控与报警服务: 根据用户需求对系统进行监控,并对监控到的系统异常进行自动化报警。

系统运维例行操作服务:根据用户需求对系统进行自动化例行操作,如删除日志、备份数据、系统归档、巡检等。

周期性报告服务:根据用户需求对系统运行数据进行自动化收集,总结并形成分析结果,供用户参考决策。

资产管理与流程管理服务:根据用户需求建立资产数据库和配置管理数据,建立事件、配置、问题、变更、发布、服务级别等方面的管理流程,获得认可后自动化执行。

云账户管理与成本核算服务:根据用户需求对用户公有云账户消费过程进行自动化管理,对系统运行成本进行自动化核算并出具符合用户需要的成本报表,供用户参考决策。

在全面上云的时代,Chef作为 DevOps运动的重要工具之一,主要用于实现云端自动化配置管理和运维,帮助企业解决各类运维问题,助推企业数字化转型与业务迭代。