配置管理软件Chef Infra
适用于DevOps团队
Chef Infra优势
代码化
将配置和策略定义为可测试、可执行且可以作为自动化管道的一部分大规模交付的代码。
消除漂移
确保仅在系统偏离所需的定义状态时更改配置,并在需要时自动更正配置偏差。
统一管理系统
以相同的方式管理在企业内部运行的Windows和Linux系统,在云中运行的ARM系统或在边缘运行的Macs笔记本电脑。
极高灵活性
对常见任务使用简单的声明性定义,或轻松扩展它们以支持最独特的环境要求。
Chef Infra 基于策略的配置管理自动化体系结构
如今,没有一家公司不担心安全性,但是传统的基础架构即代码(IAC)方法已无法再扩展以满足现代安全型组织的需求。
传统的IAC方法无法:
1、满足法规或业务安全性和合规性需求。
2、负责应用程序,基础架构和安全/合规团队之间的协作。
3、允许组织保持安全性。
使用Chef自动执行配置管理,可使DevOps团队定义可重复、一致且可重用的策略。结果是提高了业务敏捷性和安全性,因为所有系统和资源都被连续自动地评估,纠正和修改。
Chef Workstation:创建和测试基于策略的配置管理自动化所需的一切
Chef Workstation 在一个易于安装的软件包中为用户提供了开始使用Chef所需的所有工具。用户可以执行临时的远程配置任务,执行远程扫描,创建菜谱,测试软件和依赖项等等。Chef Workstation提供了本地开发人员经验,可以在Linux,Mac笔记本电脑或Windows系统上运行。
无论应用来自Chef超市、Chef社区的现有策略还是编写自定义策略,Chef Workstation都能确保用户拥有快速启动和运行所需的一切。厨师工作站包括:
- Chef工具: Chef Infra Client, Chef InSpec and Chef Habitat.
- 厨师语言: 用于管理系统和助手的预制资源,使编写和分发菜谱变得容易
- 测试和升级工具: 测试厨房,Chef Cookstyle和Chef升级实验室
创建配置策略:厨师食谱和食谱
Chef Infra Cookbook是配置和策略自动化分发的基本单元。食谱用于描述受管理的系统资源,例如文件,模板和软件包。Chef Infra食谱中定义了资源,这些食谱以人类可读的代码描述了每个系统的期望状态。该代码描述了所需的状态,然后Chef Infra Client自动配置系统。
测试配置政策:测试厨房,Chef Cookstyle和Chef InSpec
Workstation包含许多测试工具,包括Chef InSpec,可帮助您缩短部署周期,并在您扩展和完善菜谱时告知开发决策。
- Test Kitchen 是一个开源测试框架,可以使用Vagrant,Docker,VMware vSphere或领先的云提供商来测试食谱。
- Chef Cookstyle 是一种代码分析工具,可通过检测问题并自动更正菜谱代码来帮助用户编写更好的Chef Infra菜谱。
- Chef InSpec 是一种合规性测试解决方案,将策略定义为代码,并提供对所有系统和团队中合规性状态的连续可见性。测试Kitchen InSpec测试可以针对融合的菜谱进行运行,以轻松地进行本地基础架构验证。
Chef Infra Client:系统状态执行
Chef Infra Client是一个功能强大的代理,可将您的配置应用到远程Linux,macOS,Windows和基于云的系统上。它完成了配置系统的艰苦工作,并允许您根据需求的变化来扩展或缩小Chef。安全性由密钥管理,可以用食谱进行配置,使您可以旋转密钥,启用或禁用对SSH和WinRM的端口访问,定义授权的用户和组,并进一步保护您的环境以使其与Internet Security Center保持一致(CIS)基准和其他行业标准。
Chef InSpec 提供了更高级别的系统状态执行。它提供一种语言,该语言可以直接映射到为Chef Infra定义的策略的方式描述系统状态期望,从而提供有关如何补救同一工具包中审核中发现的任何错误配置的见解。
Chef Infra Client的主要功能包括:
- 计划的更新:将更新发布到管道中,节点将在计划的签入期间拉出并应用这些更新。
- 非结构化更新: 可以通过API请求来更新Chef Infra策略,从而允许外部系统(聊天机器人或票务系统)发出Web请求并根据用户交互更改策略。
- 基于推送的更新: chef-run实用程序还为并行服务器组提供了基于推送的临时更新。这对于一次或按需更新很有用,并且可以配置为将数据发送到Chef Automate,以确保在每个节点的事件历史记录中捕获到更改。
- 动态行为支持: Chef Infra可以配置为通过从每个受管系统收集内存,CPU和其他配置文件数据并将该信息用于您的配置而不是硬编码值来动态应用策略。可以从Chef自动化仪表板显示或过滤由Chef收集的相同动态信息,以轻松查看配置状态和趋势。
- 临时资源管理: Chef的基于策略的配置自动化方法特别适合作为CI / CD管道一部分管理的临时服务器的配置和维护。云团队可以使用Chef将按需云基础架构与最后一英里的配置相结合,以确保新系统首次正确设置,无论它们是成百上千还是成千上万。
Chef Automate:数据聚合和验证
Chef Automate提供企业管理和可观察性功能,并且它包含在每个Chef Subscription中。自动化提供可视化UI,实时交互式仪表板,基于角色的访问控制,第三方集成,数据API等。Automate将Chef生态系统的许多部分整合在一起,使基础架构,DevOps,安全性,云和发行团队能够轻松协作并完成工作,同时保持对系统环境变更的可审核历史记录。
每次运行Chef Infra Client时,它都会收集各种系统配置信息,包括内存,CPU,已安装的软件包,云提供商元数据和其他项目,这些信息会自动输入到Chef Automate中。在那里,数据被组织和公开,因此您和您的团队可以执行查询以帮助回答有关您的环境的问题,例如“正在运行哪些版本的操作系统?”,“一组服务器具有多少个CPU?”。以及更多。数据还可以用于填充诸如ServiceNow之类的CMDB工具,并可以轻松导出到其他系统。
使用DevOps仪表板验证更改并确保在所有环境中的合规性
该厨师红外客户端运行状态 图表显示节点状态的总结:失败,成功或丢失,以及总节点数。节点列表表显示了连接到Chef Automate的所有节点。节点详细信息表显示Chef Infra Client报告的有关系统状态的最新策略执行数据。
The Chef Automate Infrastructure State Management Dashboard(Chef自动基础结构状态管理仪表板)使用户能够在Automate中查看和管理Chef Infra Server详细信息。使用这些视图,用户可以:
- 将组织添加到每个服务器。
- 查看每个组织的食谱,角色,环境,数据包和客户。
- 通过Chef Automate搜索和查找角色,环境,数据包项目和客户端。
为什么客户选择Chef进行配置管理
1、厨师资源,助手和社区易于上手
使用Chef语言,用户可以一次定义配置,然后可以在Linux,Mac和Windows系统的混合舰队中应用它们,而不管OS版本和体系结构如何。Chef Infra语言还包括由Chef和Chef Community共同创建的一整套全面的预建资源,帮助程序和食谱。
-
-
资源: 资源用于配置组件,例如程序包,文件,目录或防火墙。今天,厨师红外客户端附带了超过150个资源常见的自动化任务,如 用户, 文件, kernel_module 和 windows_task。
-
助手: 助手使用户能够根据操作系统,云,虚拟化管理程序等来做出配置决策。
Chef社区:
Chef社区已经为Chef Infra创建了数千个免费可用的配置模板(食谱),这些模板可以按原样使用或用作组织自己的配置的基础。
-
2、敏捷的测试驱动开发实践
对于测试驱动的基础架构,Chef撰写了有关这本书的书。Chef帮助开拓了DevOps原则和测试驱动的基础架构实践,当今基于敏捷的交付团队使用它们来在整个IT领域中测试和部署系统,从在边缘上运行的智能设备到本地服务器再到在云中运行的复杂工作负载。
3、不变的部署
DevOps部署的重要部分是确保一切在开发,测试和生产环境中都能正常运行。 策略文件可 确保在生产环境中运行的Chef Cookbook与在开发中测试的版本相同。由于策略是不可变的,一旦捆绑就无法更改,因此,Chef Infra Client不再在每次运行开始时重新计算依赖项集,并且菜谱作者也不必担心其配置会从其下面更改。