加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 电商 > 正文

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

发布时间:2021-01-14 14:57:57 所属栏目:电商 来源:网络整理
导读:《15个私有云上的 DevOps 开源工具》要点: 本文介绍了15个私有云上的 DevOps 开源工具,希望对您有用。如果有疑问,可以联系我们。 在可维护性,可靠性,效率和安全性方面,DevOps 为私有云在改进操作流程方面发挥着重要的作用.私有云是一个由许多硬件和软件组
副标题[/!--empirenews.page--]

《15个私有云上的 DevOps 开源工具》要点:
本文介绍了15个私有云上的 DevOps 开源工具,希望对您有用。如果有疑问,可以联系我们。

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

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

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

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

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

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

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

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

DevOps Tools

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

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

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

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

1.1?Chef

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

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

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

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

Chef 菜谱的示例:

nclude_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 => running,

enable => true,}

1.3 Ansible

Absible?使用?模块(Modules)来定义配置任务.模块可以用标准脚本语言(Python,Bash,Ruby,等等)编写,这是一个很好的做法,使每个模块幂等.Ansible 剧本(YAML语言编写)角色映射到 节点/虚拟机上,以对这些节点/虚拟机 进行编排有序的执行.

Ansible 支持 ad-hoc 任务:管理任务(不必幂等)以在多个节点/虚拟机上执行.Ansible具有无代理架构:你不需要在配置的节点/虚拟机上安装Ansible(然而,这些节点必须安装 python 环境),Ansible 通过SSH或者通过 PowerShell(Windows 机器)从单个控制机器上配置管理节点/虚拟机,并且能够支持并行配置多个节点.

Ansible 可以用来配置类 unix 系统或 Windows 节点/虚拟机.

Ansible 使用 Python 语言编写.许可:GNU General Public License.

Ansible playbook 示例:

– name: Install nginx

yum: name=nginx state=present- name: restart nginx

service: name=nginx state=restarted enabled=yes

1.4 Salt

Salt(又叫SaltStack)同时支持服务器/客户端 和无代理模式.在后一种情况下,Salt 使用SSH连接到受管理的节点/虚拟机.Salt 使用以Python编写的执行模块,其中包含函数以定义配置任务.另外 Salt 支持 ad-hoc ?命令.Salt?状态文件(以.sls 为文件扩展名)以 YAML 格式定义幂等任务.

Salt 使用 Python 语言编写.许可:Apache License.

Salt 状态描述文件示例:

nginx:

pkg.installed

2.?裸机配置工具(Bare-metal provisioning tools)

裸机配置工具从中心服务器基于网络的操作系统自动安装.

使用案例:在私有云的初始部署期间提供新的裸机,增加新的裸机服务器,裸机配置作为私有云的服务.

2.1?Cobbler

Cobbler?使用 DHCP 服务器来处理引导服务器并将其引导到TFTP服务器,在那里它可以下载作为PXE引导文件和带有操作系统的可引导映像.

然后 Cobbler 使用 Linux 的 Kickstart(用于基于Red Hat的操作系统)或Pressed(用于基于Debian的操作系统)安装方法进行无人值守的操作系统安装和配置.

由配置文件来自定义要配置的系统,Cobbler 支持多个配置文件.一旦节点被配置,Cobbler 应确保该节点被引导到预配置的操作系统而不是PXE.Cobbler 包含 命令行客户端和 Web 客户端.

Cobbler 使用 Python 语言编写.许可:GNU General Public License.

2.2?Ironic

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读