为什么要使用Chef进行自动化和编排

Chef一直是领先的开放源代码工具,在过去的十年中,该工具用于自动化服务器的配置和配置。 近年来,该公司将InSpec和Habitat添加到了投资组合中,这些开源项目分别自动执行策略合规性测试以及应用程序的部署和配置。 该公司的旗舰商业产品Chef Automate将所有这些部件整合在一起。

Chef Automate为工作流,节点可见性和合规性提供了一套企业功能,并与开源产品Chef,InSpec和Habitat集成。 Chef Automate附带针对整个平台的支持服务,包括开源组件。 除了提供有关操作,合规性和工作流事件的视图之外,它还包括用于持续交付基础结构和应用程序的管道。

[InfoWorld的要点: CI / CD入门:使用CI / CD管道自动执行应用程序交付 CI / CD的5个常见陷阱以及如何避免它们 | 通过InfoWorld的App Dev Report新闻通讯了解编程方面的热门话题。 ]

厨师组件和工作流程

Chef DK(开发套件)工作站是用户与Chef进行交互的地方。 在工作站上,用户使用诸​​如Test Kitchen之类的工具创作和测试食谱(以生成测试VM),并使用命令行工具与Chef服务器进行交互。 例如,Knife是一个命令行工具,可在本地Chef存储库和Chef服务器之间提供接口。 Knife可以帮助用户管理节点,菜谱,数据包以及Chef客户端在节点上的安装(引导),以及其他任务。 厨师食谱中的大多数文件都是用Ruby编写的,尽管某些配置是用YAML编写的。

为什么要使用Chef进行自动化和编排厨师

厨师架构。

开源Chef服务器充当配置数据的集线器。 Chef服务器存储食谱,应用于节点的策略以及描述由Chef管理的每个注册节点的元数据。 节点使用Chef客户端向Chef服务器询问配置详细信息,例如配方,模板和文件分发。 换句话说,Chef在默认情况下是基于的系统。 它还具有推送功能。

Chef Supermarket是共享和管理社区食谱的地方。 Chef管理控制台,Chef-客户端(代理)运行报告,高可用性配置和Chef服务器复制可作为Chef Automate的一部分使用。

InSpec是一个免费的开源框架,用于测试和审核您的应用程序和基础结构。 它是Chef Automate法规遵从性部分的基础。 它与Puppet和Ansible以及Chef集成在一起。

Habitat是一个开源的云原生应用程序自动化和应用程序生命周期管理平台,它是从应用程序的角度而非企业或平台的角度进行设计的。

为什么要使用Chef进行自动化和编排厨师

Chef Automate为工作流,节点可见性和合规性提供了一套企业功能,并与开源产品Chef,InSpec和Habitat集成。

开发,合规和云的厨师

Chef Automate有助于更快,更频繁,更可靠地预配和部署应用程序-换句话说,它支持devops。 它还通过减少服务器漂移,识别合规性违规并自动修复任何问题来自动化合规性。 基于开源InSpec的Chef Compliance曾经是一个单独的产品,但现在已成为Chef Automate的一部分。

云迁移是Chef有趣的用例之一。 其中包括AWS,Microsoft Azure,Google Cloud Platform,混合部署和混合云。 另一套主要用例是确保遵守PCI,HIPAA以及其他安全和隐私法规。

如下图所示,Chef的卖点之一是,它可以与您所拥有的一起使用。 这包括基于Git的主要存储库,CI / CD系统,操作系统,云和容器编排系统。

为什么要使用Chef进行自动化和编排厨师

Chef生态系统图显示了其工作流程,运行时,环境和格式集成,以及Chef Automate的主要功能。

Chef安装和设置

通常,Chef Automate安装至少由两台服务器组成:Chef服务器(至少四个vCPU和8 GB RAM),其中包含用于在Chef Automate中构建,测试和部署组件的菜谱和数据。基础架构和Chef Automate服务器(至少四个vCPU和16 GB RAM),该服务器协调通过工作流管道进行更改的过程,并提供有关Chef Automate集群的见解和可视化效果。

有两个可选服务器,一个推入作业服务器,用于创建用于部署测试的基础结构节点,如果在测试和部署过程中使用基于推入作业的构建节点,则也需要该服务器,以及运行程序或构建节点(在至少两个vCPU和4 GB RAM),它们可以在Chef Automate之外执行运行构建,测试和部署的工作,并且仅在使用Chef Automate的工作流功能时才需要。

首先,可以独立或以高可用性配置安装Chef服务器。 然后使用chef-server-ctl命令创建一个与Chef Automate一起使用的用户和组织。 (可选)下载代码并创建推送作业服务器,然后再次使用chef-server-ctl命令重新配置Chef服务器。

此时,您可以使用rpmdpkg安装和配置Chef Automate。 安装许可证,并使用automate-ctl命令运行飞行前检查和设置过程。 安装程序将提示您创建工作流运行器。 最后,您可以配置节点以进行数据收集。

假设您想在AWS上安装Automate和Chef服务器,则适用于Chef Automate的AWS OpsWorks可以大大简化安装过程,您可以在10分钟或更短的时间内完成部署。 尽管大多数节点在AWS上时OpsWorks都会亮起,但您仍然可以从OpsWorks管理本地节点,因为OpsWorks可以自动将节点注册到自动伸缩组中。

AWS上有一个不错的教程 ,可以教您有关Chef,Chef Automate和OpsWorks的知识,在其中您将设置所有内容并逐步执行自动化任务。 该教程比基本部署要花更长的时间,但是如果您是Chef的新手,那么值得这样做。

您还可以从AWS Marketplace将Chef Automate安装到VM中。 此外,Chef还与Google Cloud Platform,Microsoft Azure Marketplace和VMware集成在一起。

Chef Automate具有强大的开发能力和合规性,具有广泛的平台支持和大量模块,可提供全套企业功能,以自动化混合基础架构的交付和持续运行。 它可能会满足您对IT自动化的大部分或全部需求。

-

费用:免费开源项目(Chef,InSpec,Habitat等)。 Chef Automate,$ 137 /节点/年,提供标准(12x5)支持。 带有Chef Automate的AWS OpsWorks,$ 0.0155 /节点/小时。 厨师长,$ 72 /节点/年。

平台: Chef Automate Server需要RHEL,SUSE或Ubuntu OS。 除此之外,MacOS还支持Chef Automate Job Runner。

Chef Automate与VMware,CoreOS,Docker,Windows和Linux操作系统兼容; Google,AWS,Azure,OpenStack和VMware云; Kubernetes,Docker Swarm和Mesosphere容器编排系统。 AWS OpsWorks提供了基于云的Chef Automate服务,用于Chef Automate。 您应该使用Google Chrome浏览到“自动化”控制台; 明确不支持IE。

Chef DK(开发工具包)在MacOS 10.11,RHEL 6,SUSE 11,Ubuntu LTS,Windows 10或Windows Server 2012以及这些操作系统的更高版本上得到商业支持。 社区支持可用于Debian 7和Scientific Linux 6及更高版本。

From: https://www.infoworld.com/article/3281098/why-use-chef-for-automation-and-orchestration.html