Rundeck 简介

Rundeck 是一个基于 Java 和 Grails 的开源的运维自动化工具,提供了 Web 管理界面进行操作,同时提供命令行工具和 WebAPI 的访问控制方式。Rundeck 能够帮助开发和运维人员更好地管理各个节点。

安装

安装方式比较多,这里使用 war 包来简单介绍安装的步骤。

下载

官方下载地址下载: rundeck-3.0.7-20181008.war

检查依赖
# 选择版本
sudo update-alternatives --config java

启动时会在当前路径初始化一些 rundeck 目录。如果报错可能是 java 版本的问题,可以重新选择 java 版本。

环境变量
PATH=$PATH:$HOME/bin:/root/rundeck/server/sbin
export RDECK_BASE=/root/rundeck
export PATH

修改 linux 服务器的环境变量,将 rundeckd 的路径添加到 PATH 里。

rundeckd status
配置修改

修改登陆密码: server/config/realm.properties

# The format is
# <username>: <password>[,<rolename> ...]
#
# Passwords may be clear text, obfuscated or checksummed. The class
# org.mortbay.util.Password should be used to generate obfuscated
# passwords or password checksums
#
# This sets the temporary user accounts for the Rundeck app
#
admin:admin,user,admin

修改默认端口和访问地址: server/config/rundeck-config.properties

server.address=192.168.1.2
grails.serverURL=http://192.168.1.2

etc/framework.properties

# ----------------------------------------------------------------
# Server connection information
# ----------------------------------------------------------------

framework.server.name=192.168.1.2
framework.server.hostname=192.168.1.2
framework.server.port=80
framework.server.url=http://192.168.1.2

修改 dataSource 为 mysql: server/config/rundeck-config.properties

dataSource.dbCreate=update
dataSource.url=jdbc:mysql://192.168.1.2/rundeck?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8
dataSource.username=root
dataSource.password=password
dataSource.driverClassName=com.mysql.jdbc.Driver

修改邮件配置:

grails.mail.default.from=viease@foxmail.com
grails.mail.host=
grails.mail.port=25
grails.mail.username=
grails.mail.password=

修改 Project Nodes 配置:
projects//etc

project.name=
project.description=
project.jobs.gui.groupExpandLevel=1
project.ssh-authentication=privateKey
project.ssh-keypath=/root/.ssh/id_rsa
project.ssh-command-timeout=0
project.ssh-connect-timeout=0
project.nodeCache.enabled=true
project.nodeCache.delay=30
service.NodeExecutor.default.provider=jsch-ssh
service.FileCopier.default.provider=jsch-scp
# node 配置文件为本地文件
resources.source.1.type=file
resources.source.1.config.includeServerNode=true
resources.source.1.config.requireFileExists=false
resources.source.1.config.generateFileAutomatically=true
resources.source.1.config.format=resourcexml
resources.source.1.config.file=/root/rundeck/projects/<project>/etc/resources.xml
# node 配置文件为 url
resources.source.2.type=url
resources.source.2.config.url=http\://localhost\:9998/rundeck_nodes
启动服务

新建一个新的目录 rundeck,将 war 包放在目录内然后运行如下命令启动服务。

java -jar rundeck-3.0.7-20181008.war

也可以使用提供的 rundeckd 来管理

[root@localhost ~]# rundeckd -h
Usage: /root/rundeck/server/sbin/rundeckd {start|stop|restart|condrestart|status}

Archive

Rundeck 可以很方便的备份项目的配置信息,在 Project Settings 里提供导入(Import Archive)导出(Export Archive)项目配置的能力。

NOTES: 官方文档提供详细的文档

参考资料