Puppet,Docker和Ansible速查表有助于简化DevOps的实现。
这些DevOps工具使每个DevOps实施都更加容易。
Puppet
Puppet是使用最广泛的DevOps工具之一。它通过支持版本控制,自动测试和连续交付的功能,使交付和发布技术更改的速度更快,更频繁。它可以管理多台服务器并执行系统配置。出于多种原因,Puppet是当今IT行业中最流行的配置管理工具之一。
Puppet提供了更多的平台支持。例如,以下是您可以使用Puppet管理的平台:
- Debian / Ubuntu
- Microsoft Windows
- Redhat,Centos,Fedora
- Mac OS X Server
与其他配置管理工具不同,Puppet在任何系统上部署配置后,都会在一定间隔后继续验证那些配置。您也可以修改这些间隔。
了解Puppet架构和Puppet组件
Puppet Master: Puppet Master是处理所有与配置有关的信息的工具。Puppet Master在指定的服务器上运行,并管理部署和配置。
Puppet Agent: Puppet代理在客户端上运行。Puppet代理是由Puppet Master维护和管理的实际工作机器。
Config Repository: Config Repository是存储与服务器相关的配置和节点的位置。可以在需要时随时将其拉出。
Facts:它们是全局变量,包含与机器有关的详细信息,例如操作系统和网络接口。它们用于分析任何节点的当前状态。
Catalog:将用Puppet编写的所有配置都转换为编译后的格式,称为目录,然后将这些目录应用于目标系统。
Manifests:清单是声明所有需要检查和更改的所有资源(即服务,程序包或文件)的文件。清单的扩展名为“ .pp”。
Module:模块是清单文件的集合,这些清单文件的组织方式便于共享文件。
Class:与其他编程语言一样,Puppet也具有用于更好地组织代码的类,从而使阅读和理解代码以及重用部分代码更加容易。
Resources:在Puppet代码中,是通过声明资源定义的编码块,其中资源可以表示包,文件,用户,命令。
Nodes:要在其上安装P代理的所有要管理的服务器或客户端都称为节点。
Docker
Docker是高端DevOps工具,它允许在多个系统上构建,交付和运行分布式应用程序。它有助于快速组装应用程序,通常适用于容器管理。
使用Docker容器时的一些重要术语包括:
- Layer:只读文件以配置系统
- Image:只读层,它是镜像的基础
- Container:镜像的可运行实例
- Registry/hub: 镜像存放的中央位置
- Docker machine:运行Docker容器的虚拟机
- Docker-compose:一个虚拟机,可将多个容器作为系统运行
Ansible
Ansible是一种开源IT配置工具,可帮助自动执行服务器和云配置,配置管理和应用程序部署。它可以管理复杂的部署并提高生产率,并有助于自动化应用程序的整个生命周期。
让我们考虑一种情况,其中系统管理员负责处理公司的基础结构。有九台服务器,其中五台服务器充当Web服务器,五台服务器充当数据库服务器。此外,您想在Web服务器上安装Tomcat,在数据库服务器上安装MySQL。在传统方法中,系统管理员将必须手动管理服务器,安装所需的软件并更改配置,以及分别管理每个服务器上的服务。Ansile通过自动执行此过程的大部分步骤来帮助解决这一问题。
Ansible中的重要术语
Controller Machine:这是Ansible的安装位置。控制器机器有助于在您管理的服务器上启用配置。
Inventory:基本上,这是一个初始化文件,其中包含有关您所管理的服务器的信息。
Playbook:脚本化的有组织的单位,用于定义服务器配置管理的自动化作业。
Task:任务块定义了要在服务器上执行的单个过程,例如安装软件包。
Nagios:此工具有助于监视IT基础结构。它能够确定错误并在标准网络,服务器和日志监视系统的帮助下进行纠正。