在 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)
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 日志文件中查找错误。
在 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 服务器已成功安装和配置。