配色: 字号:
Ubuntu下rundeck部署及使用
2015-12-11 | 阅:  转:  |  分享 
  
一、RunDeck介绍RunDeck是用Java/Grails写的开源工具,帮助用户在数据中心或者云环境中自动化各种操作和流程。通过命令行或
者web界面,用户可以对任意数量的服务器进行操作,大大降低了对服务器自动化的门槛。RunDeck提供如下功能:1.1?提供web界
面和命令行来执行shell命令和job1.2?自定义job步骤1.3?设置shell命令/job运行周期(类似cron?table
的功能)1.4?用户权限控制,支持LDAP/ActiveDirectory1.5?保存历史日志1.6?提供web?API通过以上功
能,RunDeck可以在任意数量的服务器上批量执行不同的任务,降低对自动化的部署、执行、维护的工作。二、RunDeck架构RunD
eck是基于Java的webapp服务,运行在Servlet容器里。用户登陆RunDeck,在web界面进行操作,请求对远程服务器
进行操作。web通过HTTP(s)与RunDeck服务进行通信,RunDeck服务接受服务请求后,从配置文件里面读取用户权限,以及
服务器资源的一些信息。结合权限以及资源信息,RunDeck服务通过ssh对远程的服务器进行操作,并将操作结果存放在数据库中。三、R
unDeck的应用推送后台需要大量的服务器做支撑,也就有需求对服务器做各种配置,安装,升级等操作。通过RunDeck,可以很方便、
快速的完成这些任务。为了更好的利用RunDeck,我们主要从以下2个方面来配置,规划,管理我们的服务器资源和脚本资源。3.1?用p
roject和tag对服务器进行分类根据服务器资源的不同作用,可以将服务器组分成不同的项目类别,方便不同用户操作。比如我们就有一个
专门的project是管理push功能的服务器。通过配置文件,可以赋予用户不同的权限,有些用户只能查看push组的服务器资源,有些
用户可以操作。虽然用project可以对不同服务器进行分组,但是同一个project的服务器有不同的作用。比如在push组的服务器
项目中,又可以分数据库服务器,下载服务器,日志服务器等等。对于这种情况,通过给服务器打不同tag,这样需要对一批服务器执行相同操作
,就非常方便。3.2?通过job来管理任务RunDeck提供一个非常强大的功能,就是可以自己定义job。job由命令、脚本、其它的
job组成。比如对于服务器上的各种web?server,可以定义不同的job,执行不同的操作。实际配置中,我们就对apache服务
器定义了三个job,分别对应启动、停止、重启apache服务。对于nginx服务器,定义job来配置nginx的端口号。通过job
机制,用户可以定义、管理、维护各种脚本、操作,极大的提高自动化效率。LNMP是Linux+Nginx+MySQL+PHP的简称,是
一套完整的PHP网站服务器架构环境。所用Linux发行版为Ubuntu14.04,所有需要的软件均使用Ubuntu自带apt源下
载安装。Ubuntu默认登录不是root用户;所以要加sudo命令才能执行某些命令;root用户不用加sudo就可以执行命令;如
:普通用户:sudo?apt-getupdateroot用户:apt-getupdate安装rundeck第一步:下载rund
eck?jar包创建rundeck目录;并进入rundeck目录mailto:root@zhangyu1root@zhangyu1
:~#?mkdir?-p?/usr/local/rundeck?&&?cd?/usr/local/rundeck/rundeck下
载地址mailto:root@zhangyu1root@zhangyu1:/usr/local/rundeck#?wget?htt
p://download.rundeck.org/jar/rundeck-launcher-2.6.1.jarhttp://dow
nload.rundeck.org/jar/rundeck-launcher-2.6.1.jar#安装java(需要1.6及以上版
本支持)mailto:root@zhangyu1root@zhangyu1:/usr/local/rundeck#?apt-get
?install-yopenjdk-7-jdk第二步:第一次启动rundeckmailto:root@zhangyu1root
@zhangyu1:/usr/local/rundeck#?java?-jar?rundeck-launcher-2.6.1.ja
r运行java?-jar?rundeck-launcher-2.6.1.jar会在/usr/local/rundeck目录生成几个
目录;(CTRL+C退出)mailto:root@zhangyu1root@zhangyu1:/usr/local/rundeck
#?lsetc??libext??projects??rundeck-launcher-2.6.1.jar??server??to
ols??var第三步:修改localhost把这个里面的localhost改成你的域名或者ip地址(用户名密码也在这里面192.
168.0.50)mailto:root@zhangyu1root@zhangyu1:/usr/local/rundeck#?vi
m?/usr/local/rundeck/etc/framework.propertiesframework.server.nam
e?=?192.168.0.50framework.server.hostname?=?192.168.0.50framework
.server.port?=?4440??????????????????《----这里是ru
ndeck的端口framework.server.url?=?http://192.168.0.50:4440?《----这里是r
undeck的访问地址这里面的grailsurl中localhost改成你的域名或者ipmailto:root@zhangyu
1root@zhangyu1:/usr/local/rundeck#?vim?/usr/local/rundeck/server/
config/rundeck-config.propertiesgrails.serverURL=http://192.168.0
.50:4440/http://192.168.0.50:4440第四步:设置环境变量在profile文件后面加入两句变量mail
to:root@zhangyu1root@zhangyu1:/usr/local/rundeck#?sed?-i?''$a?RDEC
K_BASE="/usr/local/rundeck"''?/etc/profilemailto:root@zhangyu1root
@zhangyu1:/usr/local/rundeck#?sed?-i?''$a?export?RDECK_BASE''?/etc/
profile执行完上面两句后;在/etc/profile最后两行会有变量语句mailto:root@zhangyu1root@z
hangyu1:/usr/local/rundeck#?cat?/etc/profileRDECK_BASE="/usr/loca
l/rundeck"export?RDECK_BASE使环境变量生效mailto:root@zhangyu1root@zhangy
u1:/usr/local/rundeck#?source?/etc/profile第五步:启动脚本启动rundeckmailto
:root@zhangyu1root@zhangyu1:/usr/local/rundeck#?/usr/local/rundec
k/server/sbin/rundeckd?restart查看rundeck运行状态mailto:root@zhangyu1ro
ot@zhangyu1:/usr/local/rundeck#?ps?-ef?|grep?rundeckzhangyu+?1075
9?????1?52?11:54?pts/3????00:00:35?/usr/lib/jvm/java-7-openjdk-am
d64/jre/bin/java?-Xmx1024m?-Xms256m?-XX:MaxPermSize=256m?-server?
-Dserver.http.port=4440?-jar?/usr/local/rundeck/rundeck-launcher-
2.6.1.jarzhangyu+?10822??3337??0?11:55?pts/3????00:00:00?grep?--c
olor=auto?rundeck第六步:登陆rundeck?web?界面在浏览器输入rundeck地址?http://192.1
68.0.50:4440/http://192.168.0.50:4440默认账户及密码:admin/admin创建项目点击Cre
ate?a?new?Project先创建个项目;叫shenghai点击顶部的Commands(命令);在Command里输入pwd
命令;在Nodes里选showallnodes(显示所有节点);点击右上角;在下面显示/usr/local/rundeck正
是rundeck服务启动位置;第七步:增加用户添加用户kaifa;密码123456;输入完命令下面会显示相应的用户信息mailto
:root@zhangyu1root@zhangyu1:/usr/local/rundeck#?java?-cp?server/l
ib/jetty-all-7.6.0.v20120127.jar?org.eclipse.jetty.util.security.
Password?kaifa?123456123456OBF:19iy19j019j219j419j619j8MD5:e10adc
3949ba59abbe56e057f20f883eCRYPT:kavwkWooObi8c注释:kaifa为用户名123456为密
码生成密码有四种格式:明文,OBF,MD5,CRYPT将MD5值添加至realm.properties配置文件mailto:roo
t@zhangyu1root@zhangyu1:/usr/local/rundeck#?vim?server/config/rea
lm.properties?kaifa:MD5:e10adc3949ba59abbe56e057f20f883e,user,adm
in注释:realm.properties?格式如下:用户名:加密方法及密码,所属角色名,所属角色组角色组可添加多个以“,”分隔第
八步:给用户权限复制admin.aclpolicy命名为kaifa.aclpolicymailto:root@zhangyu1ro
ot@zhangyu1:/usr/local/rundeck/etc#?cp?admin.aclpolicy?kaifa.aclp
olicy编辑权限文件kaifa.aclpolicy;输入下面内容mailto:root@zhangyu1root@zhangyu
1:/usr/local/rundeck/etc#?vim?kaifa.aclpolicydescription:?kaifa.c
ontext:?project:?''.''for:?resource:?-?allow:?read?job:?-?match:?g
roup:?''.''?name:?''.''?allow:?[run,read]by:?username:?kaifa---desc
ription:?kaifa.context:?application:?''rundeck''for:?resource:?-?al
low:?read?project:?-?allow:?read?storage:?-?allow:?readby:?userna
me:?kaifa重启rundeck生效mailto:root@zhangyu1root@zhangyu1:/usr/local/
rundeck#?/usr/local/rundeck/server/sbin/rundeckd?restart第九步:备份pro
ject(项目)及jobs(工作)创建备份目录/usr/local/rundeck/backup/mailto:root@zhan
gyu1root@zhangyu1:/usr/local/rundeck#?mkdir?backup备份project到/usr/
local/rundeck/backup/目录mailto:root@zhangyu1root@zhangyu1:/usr/loc
al/rundeck#?cp?-r?/usr/local/rundeck/project?/usr/local/rundeck/b
ackup/创建工作记录文件/usr/local/rundeck/backup/jobs.xmlmailto:root@zhang
yu1root@zhangyu1:/usr/local/rundeck#?touch?backup/jobs.xml备份jobs?
mailto:root@zhangyu1root@zhangyu1:/usr/local/rundeck#?/usr/local/
rundeck/tools/bin/rd-jobs?list?-f?/usr/local/rundeck/backup/jobs.
xml?-p?shenghai-tomcat备份data/logs?(需要先停止rundeck)mailto:root@zhang
yu1root@zhangyu1:/usr/local/rundeck#?/usr/local/rundeck/server/sb
in/rundeckd?stopmailto:root@zhangyu1root@zhangyu1:/usr/local/rund
eck#?cp?-r?/usr/local/rundeck/server/data/?~/backupmailto:root@zh
angyu1root@zhangyu1:/usr/local/rundeck#?cp?-r?/usr/local/rundeck/
var/logs/?~/backupmailto:root@zhangyu1root@zhangyu1:/usr/local/ru
ndeck#?/usr/local/rundeck/server/sbin/rundeckd?start第十步:还原项目和工作导入
项目mailto:root@zhangyu1root@zhangyu1:/usr/local/rundeck#?cp?-r?/us
r/local/rundeck/backup/projects/?/usr/local/rundeck/projects/导入工作mailto:root@zhangyu1root@zhangyu1:/usr/local/rundeck#/usr/local/rundeck/tools/bin/rd-jobs?load?-f?/usr/local/rundeck/backup/jobs.xml?-pshenghai-tomcat重启rundeck生效mailto:root@zhangyu1root@zhangyu1:/usr/local/rundeck#?/usr/local/rundeck/server/sbin/rundeckd?restart本文出自?“&思远晨曦”?博客,请务必保留此出处http://kling.blog.51cto.com/3320545/1340829http://kling.blog.51cto.com/3320545/1340829
献花(0)
+1
(本文系终极妖神首藏)