在Ubuntu 18.04/Debian 9上安装和配置Rundeck

时间:2020-02-23 14:32:55  来源:igfitidea点击:

rundeck是一个开源自动化服务,可让我们轻松地通过一组节点运行自动化任务。
它配备了一个Web控制台,命令行工具和WebAPI。

在本教程中,我将带我们完成Ubuntu 18.04&Debian 9上安装和配置Rundeck的步骤。
同样应该为Ubuntu 16.04 LTS工作。

rundeck的功能

-分布式命令执行
-工作流(包括选项传递、条件、错误处理和多种工作流策略)
-可插拔执行系统(默认为SSH和WinRM;提供Powershell)
-可插入资源模型(从外部系统获取基础设施的详细信息)
-按需(Web GUI、API或CLI)或计划的作业执行
-密码和密钥的安全密钥存储
-支持LDAP/ActiveDirectory/SSO的基于角色的访问控制策略
-访问控制策略编辑/管理工具
-历史记录和审核日志
-使用任何脚本语言

第1步:更新系统并设置主机名

通过确保更新包来启动安装。

sudo apt update
sudo apt upgrade -y

更新后,设置服务器主机名。

sudo hostnamectl set-hostname rundeck.example.com

将主机名和IP地址添加到 /etc/hosts

echo "192.168.17.50 rundeck.example.com" | tee -a /etc/hosts

第2步:安装Java 8(SE或者OpenJDK)

Rundeck需要在主机系统上安装Java 8.
我们可以在Ubuntu 18.04/Debian 9上安装Java 8: 1.添加Java 8 PPA存储库

sudo add-apt-repository ppa:webupd8team/java

提示后按[ENTER]将存储库添加到系统中。 2.在Ubuntu 18.04/Debian 9上安装Java 8

sudo apt install oracle-java8-installer

按OK同意Java SE平台产品和JavaFX的Oracle二进制代码许可协议。

接下来,通过选择是的,接受Oracle二进制代码许可术语

安装完成后,确认安装了Java版本:

$java -version
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)

要安装OpenJDK 8,请运行:

sudo apt install openjdk-8-jdk-headless

第3步:在Ubuntu 18.04/debian 9上安装rundeck

安装Java 8后,继续在Ubuntu 18.04/Debian 9上安装Rundeck。

在下载前检查最新版本的Rundeck。

wget https://dl.bintray.com/rundeck/rundeck-deb/rundeck_3.0.22.20190512-1.201905130100_all.deb

下载后,安装包使用 dpkg命令:

$sudo dpkg -i rundeck*.deb
Selecting previously unselected package rundeck.
(Reading database ... 105814 files and directories currently installed.)
Preparing to unpack rundeck_3.0.22.20190512-1.201905130100_all.deb ...
Unpacking rundeck (3.0.22.20190512-1.201905130100) ...
Setting up rundeck (3.0.22.20190512-1.201905130100) ...
Adding group rundeck....done
Adding system user rundeck....done
Processing triggers for ureadahead (0.100.0-20) ...
Processing triggers for systemd (237-3ubuntu10.3) ...

第4步:配置Rundeck

主要配置文件是 /etc/rundeck/framework.properties
编辑文件以自定义RunDeck

我修改了My Rundeck Server连接信息以类似于以下内容:

framework.server.name = rundeck.example.com
framework.server.hostname = rundeck.example.com
framework.server.port = 4440
framework.server.url = http://192.168.17.50:4440

还设置正确的主机名 /etc/rundeck/rundeck-config.properties

$sudo vim /etc/rundeck/rundeck-config.properties
grails.serverURL=http://192.168.17.50:4440

不要忘记替换所有事件 rundeck.example.com & 192.168.17.50具有主机名和IP地址的正确值。

完成更改后,开始 rundeckd并将其设置为启动启动:

sudo systemctl start rundeckd
sudo systemctl enable rundeckd

如果你有活跃 ufw防火墙,允许端口 4440

sudo ufw allow 4440/tcp

要检查服务状态,请使用:

$sudo systemctl status rundeckd
* rundeckd.service - LSB: rundeck job automation console
   Loaded: loaded (/etc/init.d/rundeckd; generated)
   Active: active (running) since Wed 2016-11-14 11:24:45 PST; 19s ago
     Docs: man:systemd-sysv-generator(8)
 Main PID: 4751 (java)
    Tasks: 20 (limit: 2319)
   CGroup: /system.slice/rundeckd.service
           `-4751 java -Drundeck.jaaslogin=true -Djava.security.auth.login.config=/etc/rundeck/jaas-loginmodule.conf -Dloginmodule.name=RDpropertyfile
Nov 14 11:24:45 rundeck.example.com systemd[1]: Starting LSB: rundeck job automation console...
Nov 14 11:24:45 rundeck.example.com rundeckd[4726]:  * Starting rundeckd
Nov 14 11:24:45 rundeck.example.com rundeckd[4726]:    ...done.
Nov 14 11:24:45 rundeck.example.com systemd[1]: Started LSB: rundeck job automation console.

第5步:Access Rundeck UI

打开 http://[IP or hostname]:4440/在我们最喜欢的Web浏览器上登录Rundeck Web控制台。

默认登录是:

Username: admin
Password: admin

通过编辑文件更改管理员用户密码 /etc/rundeck/realm.properties

sudo vim /etc/rundeck/realm.properties

如下设置:

admin:NEW_ADMIN_PASSWORD,user,admin,architect,deploy,build

重新开始 rundeckd服务:

sudo systemctl restart rundeckd