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

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

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

Ironic?是一个OpenStack项目,它使用PXE配置裸机服务器和 IPMI以打开/关闭机器.Ironic 包含 Ansible Playbooks(bifrost项目),以独立模式安装和运行 Ironic,无需其它 OpenStack 组件.Ironic 还包含命令行客户端和 Web 客户端.

Ironic 使用 Python 语言编写.License:GNU Affero General Public License.

3. 编排工具(Orchestration tools)

编排作为配置工具的元级.

使用方案:初始化部署和配置私有云,自动扩展.

3.1 MCollective

MCollective?是构建服务器编排和并行工作执行系统的框架,而不是一个工具.MCollective 支持分散库存和自动发现.

MCollective 服务端 应安装在 被管理节点/虚拟机,而 MCollective 客户端应安装在控制机上.MCollective 使用代理插件来扩展其功能.

MCollective 服务器和客户端不直接通信,而是在发布/订阅模式中使用中间件系统(通常是RabbitMQ).这允许 MCollective 客户端向 MCollective 服务器发送广播请求,也支持直接请求/回复.

MCollective 使用Ruby语言编写. 许可:Apache License.

3.2 Juju

Juju?允许你将复杂的应用程序部署到多个云平台和裸机服务器上.Juju 使用 charms 来定义代理的行为,charm?hooks 是要执行的实际任务(如:安装软件,启动或停止服务等).

Charms 还定义了与其它 charms 的关系.Charm hooks 可以用任何语言来实现.还有配置管理工具,如Ansible,Chef,Puppet 可以在 hook 里面做服务器配置管理.

Charm bundle 允许你将一组 charms,它们的属性和关系导出到 YAML 文件中.然后,这个 ?bundle 可以导入到另一个 Juju 环境中,以准确的部署已部署的应用程序.Juju 包含 命令行客户端和web客户端.

Juju 使用 Go 语言编写.许可:GNU Affero General Public License,GNU Lesser General Public License

3.3 Apache Brooklyn

Apache Brooklyn?允许你使用基于策略的自动化来建模,监控和管理应用程序.对于建模,Apache Brooklyn 使用蓝图(blueprint)的概念,它根据组件、配置、关系和部署场景来定义应用程序.蓝图使用 YAML 文件编写.

Apache Brooklyn 支持许多应用程序,开箱即用.并具有 Web UI 来部署,监视和管理应用程序.此外,Apache Brooklyn 支持许多位置部署,包括云平台和现有节点.

相同的蓝图可以用于将应用程序部署到不同的位置.Policies?根据应用程序传感器的读数定义对应用程序的无人值守更改.

Apache Brooklyn 使用 Java,Javascript,Groovy 语言编写.许可: Apache License.

3.4 Cloudify

Cloudify?允许你在 YAML 文件中定义应用程序配置、服务和依赖关系.这样的文件称为蓝图.Cloudify 采用蓝图作为输入,可以部署和管理应用程序.

Cloudify 支持多种云计算平台和虚拟化环境.蓝图还定义了应用程序的生命周期.对于应用程序部署阶段,Cloudify 支持配置管理工具,如Chef和Puppet.

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

3.5 Docker Machine

Docker Machine?是一个工具,它允许你在提供的节点上安装 Docker(见下文),之后可以远程的管理这样的节点.

Docker Machine 使用Go语言编写.许可:Apache License.

4. 持续集成工具 (Continuous integration tools)

使用案例:从开发到生产,在内部云开发、安装和应用程序运行的统一平台 .

4.1?Jenkins

Jenkins?是一个具有许多插件的自动化服务器.用于构建,测试和自动化部署应用程序.通常Jenkins用作软件开发的 CI/CD 工具.Jenkins 的作业(构建)可以由各种触发器启动.例如提交代码到版本控制系统,按计划事件,通过访问特定 URL 构建或者在完成其它构建之后进行触发.

Jenkins 使用 Java 语言编写. 许可:MIT License.

4.2?Docker

Docker?允许你将具有所有依赖关系的应用程序软件打包到容器中,这可以很轻松的部署在基于 Linux 的平台上.在非 Linux 平台上 Docker 使用一个虚拟机来运行容器.

Docker 使用 Go 语言编写. 许可:Apache License 2.0.

5. 监控和日志记录(Monitoring and logging)

使用案例:从私有云服务和应用程序整合日志,监控分布式服务和应用程序.

5.1 Zabbix

Zabbix?是一个为应用服务,网络服务和硬件监控提供的解决方案.Zabbix 将收集的数据存储在关系数据库中,如 MySQL,PostgreSQL 等.Zabbix 允许你监控简单的服务,如 HTTP 服务.

Zabbix agent 端可以安装在 Windows 和 类 Unix 服务器上,用来检视系统参数,如 CPU 负载,内存和磁盘利用率等.

另外,agent 可用于监视标准服务和自定义应用程序.Zabbix 也支持通过 SNMP、SSH 等方式,无需在要监视的服务器上安装代理.

Zabbix 使用 C,PHP,Java 语言编写.许可: GNU General Public License version 2.

5.2 Elasticsearch,Logstash,Kibana (ELK)

ELK?是 Elasticsearch,Kibana 软件的组合,它是用于记录,日志分析,日志搜索和可视化的完整工具.Elasticsearch 是基于 Apache Lucene 的搜索工具.Logstash 是用于收集,解析和存储日志的工具,可以通过 Elasticsearch 对其进行索引.

Logstash 支持许多数据源,解析器和过滤器.Logstash 通常与 Lumberjack(一种工具)结合使用.该工具提供其 syslog 实现,并可将本地日志事件转发到 Logstash 中.

当通过网络发送日志时,Lumberjack 使用 SSL 对日志进行加密.Logstash 和 Elastcsearch 都支持 HA 配置,没有单点故障,以确保所有日志都存储在远程.Kibana 是 Elasticsearch 的可视化插件.

Elasticsearch,Logstash 使用 Java 编写.Kibana 使用 JavaScript 编写.Lumberjack 使用C语言编写.License:Apache License 2.0.

DevOps 是一个不断增长的文化,许多组织企业正在采取.将传统IT和开发人员紧密结合在一起,为企业提供敏捷,快速响应的环境.由于许多工具来支持这些努力,以 Devops 为 IT 中心的转变,正变得更不复杂和更有益.

注:英文原文链接:http://www.stratoscale.com/blog/devops/15-open-source-devops-tools-for-the-private-cloud/

文章来自微信公众号:高效运维

(编辑:核心网)

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

热点阅读