容器和配置:3个DevOps工具以及对应的速查表
Devin hao Architect

Puppet,Docker和Ansible速查表有助于简化DevOps的实现。

image

这些DevOps工具使每个DevOps实施都更加容易。

Puppet

Puppet是使用最广泛的DevOps工具之一。它通过支持版本控制,自动测试和连续交付的功能,使交付和发布技术更改的速度更快,更频繁。它可以管理多台服务器并执行系统配置。出于多种原因,Puppet是当今IT行业中最流行的配置管理工具之一。

Puppet提供了更多的平台支持。例如,以下是您可以使用Puppet管理的平台:

  • Debian / Ubuntu
  • Microsoft Windows
  • Redhat,Centos,Fedora
  • Mac OS X Server

与其他配置管理工具不同,Puppet在任何系统上部署配置后,都会在一定间隔后继续验证那些配置。您也可以修改这些间隔。

了解Puppet架构和Puppet组件

image

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:一个虚拟机,可将多个容器作为系统运行

image

Ansible

Ansible是一种开源IT配置工具,可帮助自动执行服务器和云配置,配置管理和应用程序部署。它可以管理复杂的部署并提高生产率,并有助于自动化应用程序的整个生命周期。

让我们考虑一种情况,其中系统管理员负责处理公司的基础结构。有九台服务器,其中五台服务器充当Web服务器,五台服务器充当数据库服务器。此外,您想在Web服务器上安装Tomcat,在数据库服务器上安装MySQL。在传统方法中,系统管理员将必须手动管理服务器,安装所需的软件并更改配置,以及分别管理每个服务器上的服务。Ansile通过自动执行此过程的大部分步骤来帮助解决这一问题。
image

Ansible中的重要术语

Controller Machine:这是Ansible的安装位置。控制器机器有助于在您管理的服务器上启用配置。

Inventory:基本上,这是一个初始化文件,其中包含有关您所管理的服务器的信息。

Playbook:脚本化的有组织的单位,用于定义服务器配置管理的自动化作业。

Task:任务块定义了要在服务器上执行的单个过程,例如安装软件包。

Nagios:此工具有助于监视IT基础结构。它能够确定错误并在标准网络,服务器和日志监视系统的帮助下进行纠正。