RunDeck是用Java/Grails写的开源工具,帮助用户在数据中心或者云环境中自动化各类操做和流程。经过命令行或者web界面,用户能够对任意数量的服务器进行操做,大大下降了对服务器自动化的门槛。RunDeck提供以下功能:php
经过以上功能,RunDeck能够在任意数量的服务器上批量执行不一样的任务,下降对自动化的部署、执行、维护的工做。nginx
Rundeck Web GUI就是配置好rundeck后经过Browser登陆进去的那个界面
介绍它主要的几个概念:web
看不清的话能够点击链接放大看shell
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.pngapache
在rundeck的主目录下个人是rundeck_t/projects/PhiProTest/etc/resources.xml中能够对Project进行配置服务器
----用project和tag对服务器进行分类架构
根据服务器资源的不一样做用,能够将服务器组分红不一样的项目类别,方便不一样用户操做。好比咱们就有一个专门的project是管理push功能的服务器。经过配置文件,能够赋予用户不一样的权限,有些用户只能查看push组的服务器资源,有些用户能够操做。运维
虽然用project能够对不一样服务器进行分组,可是同一个project的服务器有不一样的做用。好比在push组的服务器项目中,又能够分数据库服务器,下载服务器,日志服务器等等。对于这种状况,经过给服务器打不一样tag,这样须要对一批服务器执行相同操做,就很是方便。ide
----经过job来管理任务
RunDeck提供一个很是强大的功能,就是能够本身定义job。job由命令、脚本、其它的job组成。好比对于服务器上的各类web server,能够定义不一样的job,执行不一样的操做。实际配置中,咱们就对apache服务器定义了三个job,分别对应启动、中止、重启apache服务。对于nginx服务器,定义job来配置nginx的端口号。经过job机制,用户能够定义、管理、维护各类脚本、操做,极大的提升自动化效率。
经过Rundeck定义平常标准的服务器操做过程,对服务器的操做经过Rundeck进行,便于可视化、权限控制、与审计。
可视化是第一位的也是Rundeck提供后续服务的一个基础。
经过Rundeck实现任务的自动调度
经过持续集成系统(Jenkins)调用Rundeck实现不一样环境的自动化部署和部署验证
经过Rundeck能够为开发和测试提供自助化的测试环境,很方便基于不一样版本的构件进行部署
AWS(Amazon Web Services )提供了一整套云计算服务,让您可以构建复杂、可扩展的应用程序。现在,成千上万各类规模的客户都在使用这些云计算服务,它们涉及各个行业,包括医疗保健、传媒、金融服务、保险、房地产和零售行业以及教育和公共部门。
Amazon EC2是一个IaaS云服务,主要提供弹性的计算资源。通俗的讲,就是提供多种类型的虚拟机。
参考资料:
http://udn.yyuap.com/forum.php?mod=viewthread&tid=30567&typeid=343
http://blog.jiguang.cn/rundeck_server_maintenance_command_script/