📅  最后修改于: 2020-11-04 04:44:50             🧑  作者: Mango
Chef是Opscode开发的开源技术。 Opscode的联合创始人Adam Jacob被称为Chef的创始人。这项技术使用Ruby编码来开发基本的构造块,例如配方和食谱。 Chef用于基础结构自动化,并有助于减少用于基础结构管理的手动和重复性任务。
Chef对于不同的构建基块都有自己的约定,这是管理和自动化基础结构所必需的。
Chef是一种配置管理技术,用于自动执行基础架构配置。它是基于Ruby DSL语言开发的。它用于简化配置和管理公司服务器的任务。它具有与任何云技术集成的能力。
在DevOps中,我们使用Chef在内部和云上部署和管理服务器和应用程序。
以下是Chef最突出的特点-
Chef提供以下优势-
Chef的一些主要缺点如下-
可以将其定义为用于管理基础结构的属性的集合。配方中存在的这些属性用于更改现有状态或设置特定的基础结构节点。它们在Chef客户端运行期间加载,并与节点(计算机)的现有属性相对应。然后,它进入配方的节点资源中定义的状态。这是食谱的主要力量。
食谱是食谱的集合。它们是上载到Chef服务器的基本构建块。当Chef运行时,它确保存在于其中的配方将给定的基础结构达到配方中列出的所需状态。
它是用于管理具有各种状态的基础结构的配方的基本组成部分。配方中可以有多个资源,这将有助于配置和管理基础结构。例如-
它们基本上是设置。可以将它们视为要在食谱中使用的任何内容的键值对。可以应用几种不同类型的属性,这些优先级高于节点操作所依据的最终设置的优先级。
它是菜谱中的子目录,其中包含将放置在使用菜谱的节点上的任何静态文件。然后,可以将配方声明为一种资源,该资源将文件从该目录移动到最终节点。
它们类似于文件,但不是静态的。模板文件以.ebr扩展名结尾,这意味着它们包含嵌入式Ruby。它们主要用于将属性值替换为文件,以创建将放置在节点上的最终文件版本。
它用于管理有关程序包的元数据。这包括详细信息,例如包的名称和详细信息。它还包括诸如依赖项信息之类的信息,这些信息可以告诉您该食谱需要操作哪些食谱。这样,Chef服务器就可以正确构建节点的运行列表,并确保正确传输所有片段。
C:\chef\cookbooks\nginx>tree
Folder PATH listing for volume Local Disk
Volume serial number is BE8B-6427
C: ├───attributes
├───definitions
├───files
│ └───default
├───libraries
├───providers
├───recipes
├───resources
└───templates
└───default
以下是Chef相关技术的列表。
无论在何处运行,Puppet都提供了一种标准的方式来交付和操作软件。它是用于Linux,Unix和Windows系统的自动化管理引擎,该引擎基于集中式规范执行管理任务。
Puppet的主要功能如下-
Ansible是一个非常简单的IT自动化平台,使您的应用程序和系统更易于部署。避免编写脚本或自定义代码来部署和更新您的应用程序—使用SSH使用接近普通英语的语言实现自动化,而无需在远程系统上安装任何代理。
Ansible的主要功能如下-
SaltStack用于数据驱动的配置。这是一种基于动态通信总线的基础架构管理的新方法。它用于数据驱动的编排,任何基础结构的远程执行以及任何应用程序堆栈的配置管理。
Fabric是一种基于Python的编程语言,它是作为Python的API开发的,需要以Python代码导入才能配置和管理基础结构。