在 CentOS 8 上安装 Java

Rundeck 是用 Java 编程语言编写的,因此它需要 JRE(Java 运行时环境)才能执行。

因此,我们从标准 yum 存储库中在 CentOS 8 上安装 OpenJDK,如下所示。

[root@rundeck-01 ~]# dnf install -y java-1.8.0-openjdk

要验证 Java Runtime Environment 的安装,请检查 java 命令的版本。

[root@rundeck-01 ~]# java -version
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
在 CentOS 8 上安装 Rundeck 服务器

Rundeck 是一个免费的开源软件,用于通过计划作业自动管理服务器(Linux、Windows 和 MacOS)。
Rundeck 提供了一个 Web 界面来执行这些管理任务。

在本文中,我们将学习如何在 CentOS 8 上以 MySQL 作为后端数据库安装 Rundeck 服务器。

在 CentOS 8 上安装 Rundeck Yum 软件库

Rundeck 软件通过其官方 yum 存储库分发。
因此,我们需要在 CentOS 8 服务器中添加 Rundeck yum 存储库。

Rundeck 提供了一个 RPM 包,用于在 CentOS 8 上安装 yum 存储库。
因此,我们使用 dnf 命令安装它。

[root@rundeck-01 ~]# dnf install -y http://repo.rundeck.org/latest.rpm

为 Rundeck 存储库构建缓存。

[root@rundeck-01 ~]# dnf makecache
CentOS-8 - AppStream                            5.1 kB/s | 4.3 kB     00:00
CentOS-8 - Base                                  10 kB/s | 3.9 kB     00:00
CentOS-8 - Extras                               2.6 kB/s | 1.5 kB     00:00
Rundeck - Release                               485 kB/s | 2.8 MB     00:05
Metadata cache created.

Rundeck yum 存储库已安装。

为 Rundeck 配置 MySQL 数据库后端

默认情况下,Rundeck 使用 H2 数据库作为其存储库。

但是不建议在生产环境中使用 H2 数据库。
因此,我们将 MySQL 配置为 Rundeck 的数据库后端。

连接到 MySQL 数据库服务器。
如果我们没有正在运行的 MySQL 数据库服务器,则需要在 CentOS 8 上安装 MySQL 服务器。

[root@rundeck-01 ~]# mysql -u root -p123
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 16
Server version: 10.3.17-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>

为 Rundeck 服务器创建一个数据库。

MariaDB [(none)]> create database rundeck;
Query OK, 1 row affected (0.002 sec)

创建一个数据库用户并授予 rundeck 数据库的必要权限。

MariaDB [(none)]> grant ALL on rundeck.* to 'rundeckuser'@'localhost' identified by 'jackli123';
Query OK, 0 rows affected (0.003 sec)

重新加载权限表。

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.002 sec)

退出 MySQL shell。

MariaDB [(none)]> exit
Bye

现在编辑 Rundeck 配置文件。

[root@rundeck-01 ~]# vi /etc/rundeck/rundeck-config.properties

找到并更新此文件中的以下参数。
(如果没有找到任何参数,则在那里添加)

dataSource.url = jdbc:mysql://mariadb-01.onitroad.com/rundeck?autoReconnect=true
dataSource.username=rundeckuser
dataSource.password=jackli123
dataSource.driverClassName=com.mysql.jdbc.Driver

重新启动 rundeckd 服务使更改生效。

[root@rundeck-01 ~]# systemctl restart rundeckd.service

如果我们在启动 rundeckd 服务时遇到困难,那么我们应该在位于 /var/log/rundeck/ 目录中的 Rundeck 日志文件中查找错误。

on  It Road.com

在 CentOS 8 上安装 RunDeck

现在,我们可以使用 dnf 命令安装 Rundeck 软件。

[root@rundeck-01 ~]# dnf install -y rundeck

启用并启动 rundeckd 服务。

[root@rundeck-01 ~]# systemctl enable --now rundeckd.service
rundeckd.service is not a native service, redirecting to systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable rundeckd

检查 rundeckd 服务的状态。

[root@rundeck-01 ~]# systemctl status rundeckd.service

在 CentOS 防火墙中允许 Rundeck 服务端口:4440。

[root@rundeck-01 ~]# firewall-cmd --permanent --add-port=4440/tcp
success
[root@rundeck-01 ~]# firewall-cmd --reload
success

如果我们从另一台计算机访问 Rundeck Web 界面,我们可能会发现一些错误。
要解决它,我们需要编辑 Rundeck 配置文件。

[root@rundeck-01 ~]# vi /etc/rundeck/rundeck-config.properties

查找并更新 grails.serverURL 参数,如下所示。
请确保主机名可通过网络解析,我们可以为此使用 DNSSEC 名称服务器。

grails.serverURL=http://rundeck-01.onitroad.com:4440

重新启动 rundeckd 服务以使用新配置重新加载进程。

[root@rundeck-01 ~]# systemctl restart rundeckd.service

创建第一个 Rundeck 项目

在 Google Chrome 等浏览器中浏览 URL http://rundeck-01.onitroad.com:4440。

使用默认用户名:admin 和密码:admin 登录 Rundeck Web 界面。

单击“新建项目+”按钮创建一个新项目。

提供有关项目的必要详细信息,然后单击“创建”。

我们的项目已创建,现在我们位于“编辑节点”页面。

我们可能会发现 Rundeck 列表中已经添加了一个节点“local”。
它是我们的 Rundeck 服务器机器,它是在我们创建这个项目时自动添加的。

我们还可以从此页面添加更多节点。
但是,我们的“local”节点足以演示命令的执行。

单击左侧菜单中的命令。

我们已经在“local”节点上执行了一个命令。
我们可以在 Rundeck 服务器管理的其他节点上执行相同的命令。

同样,我们也可以创建一些作业,这些作业将在预定时间在一组节点上执行一组命令。

我们的 Rundeck 服务器已成功安装和配置。

日期:2020-09-17 00:16:41 来源:oir作者:oir