首页 存档 技术 查看内容

15个私有云上的 DevOps 开源工具 DevOps Tools

2018-3-30 13:00 |来自: 互联网 278 0

摘要: 在可维护性,可靠性,效率和安全性方面,DevOps 为私有云在改进操作流程方面发挥着重要的作用。私有云是一个由许多硬件和软件组件组成的复杂系统。 对于任何支持的企业组织,操作流程的自动化和文档记录,规划变更和 ...

在可维护性,可靠性,效率和安全性方面,DevOps 为私有云在改进操作流程方面发挥着重要的作用。私有云是一个由许多硬件和软件组件组成的复杂系统。

对于任何支持的企业组织,操作流程的自动化和文档记录,规划变更和跟踪应用的更新都是强制性的要求。

同样的方法也适用于云计算的工作负载量。此外DevOps的实践也成为开发者和 QA 团队事实上的标准,特别是当使用私有云作为开发或目标平台时。当然,并不是所有的云操作方面都可以用 DevOps 来实践。

例如,许多硬件相关的操作不匹配--你不能用一个软件工具,去物理的连接服务器上的硬件开关(本人注:服务器的 IPMI 是可以做到远程控制呀。)

但即使在这种情况下,你仍可使用 DevOps 工具和实践来验证连通性和记录网络配置过程。也为不断增长的软件定义网络(SDN)的需求提供了一个机会,让 DevOps 在新的领域得以发展。

我们将回顾私有云几种类别上的15个DevOps工具

在这篇文章中,我们将在几个类别中讨论15个针对私有云的 DevOps 工具。这几些工具类别的分选主要是人为合成的,在由工具提供的功能之间没有严格的边界,并且在某些情况下,这里所提到的工具可以做更多范畴假设。

最后,这里的一些工具没有根据具体的规则去分类,所以如果我们忘记了你认为应该包括的工具,只需给我们发个消息,我们将会讨论这个工具,并在下一次综述时将其纳入其中。

DevOps Tools

1. 配置管理工具(Configuration management tools)

配置管理工具自动完成日常操作,系统管理任务,当建立复杂的系统时,最大限度地减少人为错误。配置管理工具允许你定义的配置作为代码。(“Infrastructure as a code” 的方式)。

它可以让你追踪配置基线之间的变化(又称为配置版本控制),有效的应用它们并在必要时进行回滚更改操作。此外操作流程,如部署或发布管理可以记录并验证。

使用案例:私有云初始化部署和配置,将更改应用到私有云,应用具体的部署和配置。

1.1Chef

Chef的配置文件使用领域专用语言(DSL)的“配方”(以.rb 为文件扩展名)。多个配方也可以整合到一个菜谱(cookbook)中。该配方定义了资源及其状态,例如:应该安装的软件包,该文件应存在,服务应该运行,等等。

Chef 验证所有定义的资源是否应具有指定的状态,如果必要,任何资源的实际状态如果与指定的状态不同,那么则应用更改。这允许你写幂等的配方,意味着你可以多次应用相同的配方,如果所有定义的资源都具有指定的状态,那么 Chef 将不会更改任何内容。

Chef 可以在 服务器/客户端 模式中使用,也可在独立的模式下运行。在任何情况下,Chef 应安装要配置的节点或VM上。

Chef 客户端是用 Ruby 语言编写的,Chef 服务器是用 Ruby 和 Erlang 语言编写的。许可:2.7版本以后的使用 Apache License,之前版本使用 GNU General Public License。

Chef 菜谱的示例:

include_recipe "apt" package 'nginx' do action :install end service 'nginx' do action [ :enable, :start ] end

1.2 Puppet

Puppet的配置文件使用特殊的领域专用语言,它们被称为 Puppet 清单(以.pp 为文件扩展名)。Puppet 可以使用独立的模式或者 服务器/客户端 模式。Puppet 客户端(agent)应该安装要配置的每个节点或VM上。

Puppet 客户端 通过一个名为 Facter 的工具收集 Puppet 服务器上的配置更改要求,并生成特定与服务器的目录,其应用的配置更改都会记录下来。
Puppet 可以用来配置 类 unix 系统或 Windows 节点/虚拟机。

Puppet 是用Ruby 语言编写。许可:Apache License.

Puppet 清单 的示例:

service { 'nginx': ensure =

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部