Rundeck概况

简介: Rundeck概况

1.Rundeck介绍

RunDeck是用Java/Grails写的开源工具,帮助用户在数据中心或者云环境中自动化各种操作和流程。通过命令行或者web界面,用户可以对任意数量的服务器进行操作,大大降低了对服务器自动化的门槛。RunDeck提供如下功能:

  • 1. 提供web界面和命令行来执行shell命令和job
  • 2. 自定义job步骤
  • 3. 设置shell命令/job运行周期(类似cron table的功能)
  • 4. 用户权限控制,支持LDAP/ActiveDirectory
  • 5. 保存历史日志
  • 6. 提供web API

通过以上功能,RunDeck可以在任意数量的服务器上批量执行不同的任务,降低对自动化的部署、执行、维护的工作。

2.Rundeck概要

2.1Rundeck架构图

029fb531c15776450edfcb0e048d4641.png

Rundeck Web GUI就是配置好rundeck后通过Browser登录进去的那个界面


bda7d9192462e5d4be277f4775dce392.png


2.2基础概念

介绍它主要的几个概念:

看不清的话可以点击连接放大看

Rundeck Gui介绍:http://images2017.cnblogs.com/blog/1189489/201708/1189489-20170805124631944-1629947656.png


resources.xml介绍:http://images2017.cnblogs.com/blog/1189489/201708/1189489-20170805125133631-1558816288.png

82bbacddd90a73a0a73b15f392c0f0d4.png

在rundeck的主目录下我的是rundeck_t/projects/PhiProTest/etc/resources.xml中可以对Project进行配置

a50cfc7552e1a175df55562b253f13af.png

----用project和tag对服务器进行分类


根据服务器资源的不同作用,可以将服务器组分成不同的项目类别,方便不同用户操作。比如我们就有一个专门的project是管理push功能的服务器。通过配置文件,可以赋予用户不同的权限,有些用户只能查看push组的服务器资源,有些用户可以操作。

虽然用project可以对不同服务器进行分组,但是同一个project的服务器有不同的作用。比如在push组的服务器项目中,又可以分数据库服务器,下载服务器,日志服务器等等。对于这种情况,通过给服务器打不同tag,这样需要对一批服务器执行相同操作,就非常方便。


----通过job来管理任务

RunDeck提供一个非常强大的功能,就是可以自己定义job。job由命令、脚本、其它的job组成。比如对于服务器上的各种web server,可以定义不同的job,执行不同的操作。实际配置中,我们就对apache服务器定义了三个job,分别对应启动、停止、重启apache服务。对于nginx服务器,定义job来配置nginx的端口号。通过job机制,用户可以定义、管理、维护各种脚本、操作,极大的提高自动化效率。

3.Rundeck的典型应用场景(Popular Uses)

3.1.标准化服务器操作过程(Share Standard Operating Procedures)

通过Rundeck定义日常标准的服务器操作过程,对服务器的操作通过Rundeck进行,便于可视化、权限控制、与审计。

可视化是第一位的也是Rundeck提供后续服务的一个基础。

b8b0fbc0a6bafad24775d9aba41b837e.png

3.2.任务调度(Job Scheduler)

通过Rundeck实现任务的自动调度

5bf2a2bb70e812aee15901125d5e61fd.png


3.3.事故响应(Incident Response)

11c043864185c2b83f4c5e83f0289a3d.png


3.4.自动化部署(Automated Deployment After a Build)

通过持续集成系统(Jenkins)调用Rundeck实现不同环境的自动化部署和部署验证

52fd622dfab4813d9c7b82e04f1f09f9.png

3.5.自助化测试环境(Self-Service Test Environments)

通过Rundeck可以为开发和测试提供自助化的测试环境,很方便基于不同版本的构件进行部署

179c4c536cb181f68913af1a36a4d879.png

3.6.云端流程化数据处理(Data Processing Jobs in the Cloud)

AWS(Amazon Web Services )提供了一整套云计算服务,让您能够构建复杂、可扩展的应用程序。如今,成千上万各种规模的客户都在使用这些云计算服务,它们涉及各个行业,包括医疗保健、传媒、金融服务、保险、房地产和零售行业以及教育和公共部门。

Amazon EC2是一个IaaS云服务,主要提供弹性的计算资源。通俗的讲,就是提供多种类型的虚拟机。

e171d11572efcfc944cefa54dc456bfc.png

3.7.基于Rundeck的API和插件机制构建运维平台(Custom Platforms "Powered By Rundeck")

5ef8625834519ec0611f9ad4f01784c8.png

参考资料:


http://rundeck.org/


http://udn.yyuap.com/forum.php?mod=viewthread&tid=30567&typeid=343


http://blog.jiguang.cn/rundeck_server_maintenance_command_script/



目录
打赏
0
0
0
0
12
分享
相关文章
5 个适用于 Linux 的开源日志监控和管理工具
5 个适用于 Linux 的开源日志监控和管理工具
【最佳实践】Elasticsearch Snapshot 备份的使用方法
常见的数据库都会提供备份的机制,以解决在数据库无法使用的情况下,可以开启新的实例,然后通过备份来恢复数据减少损失。
6811 0
【最佳实践】Elasticsearch Snapshot 备份的使用方法
CentOS 7- 配置阿里镜像源
阿里镜像官方地址http://mirrors.aliyun.com/ 1、点击官方提供的相应系统的帮助 :2、查看不同版本的系统操作: 下载源1、安装wget yum install -y wget2、下载CentOS 7的repo文件wget -O /etc/yum.
246079 0
Zipkin/Pinpoint/SkyWalking全面对比
【11月更文挑战第1天】这里重点从探针的性能、Collector的可扩展性、调用链路分析、完整的应用拓扑、对于科技人员使用友好程度(部署安装、埋点接入、使用管理)几个方面来进行对比。
优化 Grafana 性能:技巧与窍门
【8月更文第29天】Grafana 是一个非常受欢迎的开源数据可视化平台,它能够连接到各种数据源并提供高度定制化的仪表板。然而,随着数据量的增长和复杂查询的增多,Grafana 的性能可能会受到影响。本文将探讨如何优化 Grafana 的性能,以提高其响应速度和稳定性,并通过具体的代码示例来展示这些技巧。
1235 2
两个实验让我彻底弄懂了「订阅关系一致」
这篇文章,笔者想聊聊 RocketMQ 最佳实践之一:**保证订阅关系一致**。 订阅关系一致指的是同一个消费者 Group ID 下所有 Consumer 实例所订阅的 Topic 、Tag 必须完全一致。 如果订阅关系不一致,消息消费的逻辑就会混乱,甚至导致消息丢失。
1079 1
两个实验让我彻底弄懂了「订阅关系一致」
一文快速掌握高性能内存队列Disruptor
`Disruptor`是LMAX公司开源的高性能内存消息队列,单线程处理能力可达600w订单/秒。本文从使用和设计角度探讨这款Java消息队列。作者sharkChili是Java开发者,CSDN博客专家,Java Guide项目维护者。文章介绍了Disruptor的基础使用,包括前置步骤、消息模型、消息处理器配置、生产者实现,并展示了效果。同时,文章详细解析了Disruptor的工作流程和高效原因,如无锁操作、分支预测和缓存填充。最后,作者提供相关资源链接并邀请读者加入交流群。
2213 0
0.07 秒启动一个 SpringBoot 项目!Spring Native 很强!!
0.07 秒启动一个 SpringBoot 项目!Spring Native 很强!!
175 2
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问