CentOS 8.2は、Rundeck3.3.7ジョブ自動管理サーバーを展開します

[目次]

CentOS 8.2は、Rundeck3.3.7ジョブ自動管理サーバーを展開します

Rundeckとは何ですか?

Rundeckは、スケジュールされたジョブを通じてサーバー(LinuxWindowsMacOSを自動的に管理するための無料のオープンソースソフトウェアです

Rundeckは、1つの管理サーバーからコンピューターネットワーク内のすべてのサーバーを管理するという考えに基づいて構築されています。Rundeckは、これらの管理タスクを実行するためのWebインターフェイスを提供します。

RundeckはJavaプログラミング言語で記述されており、Apache Software2.0ライセンスの下で配布されています。

Rundeckは、エンタープライズエディション(商用)コミュニティエディション(無料)を提供します。Rundeck Community Editionと比較すると、Rundeck Enterpriseはより多くの機能を提供しますが、料金を支払う必要があります。

Rundeckの機能:


Rundeckのコア機能は次のとおりです。

  • Web API
  • プラグ可能な実行システム(デフォルトはSSH)
  • 分散コマンドの実行
  • マルチステップワークフロー
  • コマンドとジョブを実行するためのグラフィカルWebコンソール
  • 役割ベースのアクセス制御戦略
  • オンデマンドまたはスケジュールに従ってジョブを実行する
  • コマンドラインインターフェースツール
  • 履歴と監査ログ

環境仕様:


  • CPU:3.4 GHz(2コア)
  • RAM:2 GB
  • ストレージスペース:20 GB
  • オペレーティングシステム:CentOS 8.2
  • ホスト名:rundeck.lianglab.cn
  • IPアドレス:192.168.6.200/24

ステップ1:CentOS8にソフトウェアアップグレードをインストールする


使用するSSHのためのツールを接続しrundeck.lianglab.cnとして、ルートユーザー

dnfコマンドを使用して、CentOS8にインストールされているすべてのパッケージをアップグレードします。

[root@mariadb ~]# hostnamectl set-hostname rundeck.lianglab.cn
[root@mariadb ~]# dnf update -y
Dependencies resolved.
Nothing to do.
Complete!

CentOS 8サーバーはすでに最新であるため、Linuxパッケージマネージャーとは何の関係もありません。

ステップ2:CentOS8にJavaをインストールする


RundeckはJavaプログラミング言語で記述されているため、実行するにはJRE(Javaランタイム環境)が必要です。

したがって、以下に示すようにOpenJDKをCentOS8の標準yumリポジトリにインストールします。

[root@mariadb ~]# dnf install -y java-1.8.0-openjdk
...
Installed:
  java-1.8.0-openjdk-1:1.8.0.252.b09-2.el8_1.x86_64
  gtk2-2.24.32-4.el8.x86_64
  alsa-lib-1.1.9-4.el8.x86_64
  copy-jdk-configs-3.7-1.el8.noarch
  fribidi-1.0.4-7.el8_1.x86_64
  gdk-pixbuf2-modules-2.36.12-5.el8.x86_64
  giflib-5.1.4-3.el8.x86_64
  graphite2-1.3.10-10.el8.x86_64
  gtk-update-icon-cache-3.22.30-4.el8.x86_64
  harfbuzz-1.7.5-3.el8.x86_64
  hicolor-icon-theme-0.17-2.el8.noarch
  jasper-libs-2.0.14-4.el8.x86_64
  java-1.8.0-openjdk-headless-1:1.8.0.252.b09-2.el8_1.x86_64
  javapackages-filesystem-5.3.0-1.module_el8.0.0+11+5b8c10bd.noarch
  jbigkit-libs-2.1-14.el8.x86_64
  libX11-1.6.7-1.el8.x86_64
  libX11-common-1.6.7-1.el8.noarch
  libXau-1.0.8-13.el8.x86_64
  libXcomposite-0.4.4-14.el8.x86_64
  libXcursor-1.1.15-3.el8.x86_64
  libXdamage-1.1.4-14.el8.x86_64
  libXext-1.3.3-9.el8.x86_64
  libXfixes-5.0.3-7.el8.x86_64
  libXft-2.3.2-10.el8.x86_64
  libXi-1.7.9-7.el8.x86_64
  libXinerama-1.1.4-1.el8.x86_64
  libXrandr-1.5.1-7.el8.x86_64
  libXrender-0.9.10-7.el8.x86_64
  pixman-0.36.0-1.el8.x86_64
  ttmkfdir-3.0.9-54.el8.x86_64
  tzdata-java-2019c-1.el8.noarch
  xorg-x11-font-utils-1:7.5-40.el8.x86_64
  xorg-x11-fonts-Type1-7.5-19.el8.noarch
  avahi-libs-0.7-19.el8.x86_64
  cups-libs-1:2.2.6-28.el8.x86_64
  dejavu-fonts-common-2.35-6.el8.noarch
  dejavu-sans-fonts-2.35-6.el8.noarch
  fontconfig-2.13.1-3.el8.x86_64
  fontpackages-filesystem-1.44-22.el8.noarch
  gdk-pixbuf2-2.36.12-5.el8.x86_64
  lksctp-tools-1.0.18-3.el8.x86_64

Complete!

Javaランタイム環境のインストールを確認するには、javaコマンドのバージョンを確認してください

[root@rundeck ~]# java -version
openjdk version "11.0.9" 2020-10-20 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.9+11-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.9+11-LTS, mixed mode, sharing)

ステップ3:CentOS8にRundeckYumリポジトリをインストールする


Rundeckソフトウェアは、公式のyumリポジトリを通じて配布されます。したがって、CentOS8サーバーにRundeckyumリポジトリを追加する必要があります。

Rundeckは、CentOS8にyumリポジトリをインストールするためのRPMパッケージを提供します。したがって、dnfコマンドを使用してインストールします。

[root@rundeck ~]# dnf install -y http://repo.rundeck.org/latest.rpm
Last metadata expiration check: 2:56:08 ago on Sun 27 Dec 2020 07:03:07 PM CST.
latest.rpm                                                                           1.8 kB/s | 3.0 kB     00:01    
Dependencies resolved.
=====================================================================================================================
 Package                        Architecture             Version                Repository                      Size
=====================================================================================================================
Installing:
 rundeck-repo                   noarch                   4-0                    @commandline                   3.0 k

Transaction Summary
=====================================================================================================================
Install  1 Package

Total size: 3.0 k
Installed size: 181  
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                             1/1 
  Installing       : rundeck-repo-4-0.noarch                                                                     1/1 
  Verifying        : rundeck-repo-4-0.noarch                                                                     1/1 
Installed products updated.

Installed:
  rundeck-repo-4-0.noarch                                                                                            

Complete!

Rundeckリポジトリのキャッシュ構築します。

[root@rundeck ~]# dnf makecache
CentOS-8 - Base - mirrors.tongdun.cn     1.7 MB/s | 3.9 kB     00:00    
CentOS-8 - Extras - mirrors.tongdun.cn   772 kB/s | 1.5 kB     00:00    
CentOS-8 - AppStream - mirrors.tongdun.c 2.5 MB/s | 4.3 kB     00:00    
MariaDB                                  4.4 kB/s | 2.9 kB     00:00    
bintray--apache-couchdb-rpm              4.2 kB/s | 1.3 kB     00:00    
Extra Packages for Enterprise Linux 8 -  3.0 MB/s | 4.7 kB     00:00    
Extra Packages for Enterprise Linux 8 -  1.5 MB/s | 3.0 kB     00:00    
Extra Packages for Enterprise Linux 8 -  1.8 MB/s | 3.5 kB     00:00    
Rundeck - Release                        1.1 kB/s | 1.3 kB     00:01    
Metadata cache created.
[root@rundeck ~]# 

Rundeckyumリポジトリがインストールされます。

CentOS 8.2は、Rundeck3.3.7ジョブ自動管理サーバーを展開します

セブン

ステップ4:CentOS8にRunDeckをインストールする


これで、dnfコマンドを使用してRundeckソフトウェアインストールできます。

[root@rundeck ~]# dnf install -y rundeck
Last metadata expiration check: 0:00:53 ago on Sun 27 Dec 2020 10:00:45 PM CST.
Dependencies resolved.
=========================================================================
 Package   Arch     Version              Repository                 Size
=========================================================================
Installing:
 rundeck   noarch   3.3.7.20201208-1     rundeck-release-bintray   172 M

Transaction Summary
=========================================================================
Install  1 Package

Total download size: 172 M
Installed size: 185 M
Downloading Packages:
rundeck-3.3.7.20201208-1.noarch.rpm       10 MB/s | 172 MB     00:16    
-------------------------------------------------------------------------
Total                                     10 MB/s | 172 MB     00:16     
warning: /var/cache/dnf/rundeck-release-bintray-330204ab97cd1651/packages/rundeck-3.3.7.20201208-1.noarch.rpm: Header V3 RSA/SHA1 Signature, key ID e2d1065b: NOKEY
Rundeck - Release                        1.7 kB/s | 3.1 kB     00:01    
Importing GPG key 0xE2D1065B:
 Userid     : "Rundeck Build (automated builds) <[email protected]>"
 Fingerprint: 85E9 DBC7 4FCB 329E DEDA DD2E 9077 0E1B E2D1 065B
 From       : http://rundeck.org/keys/BUILD-GPG-KEY-Rundeck.org.key
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Running scriptlet: rundeck-3.3.7.20201208-1.noarch                 1/1 
  Preparing        :                                                 1/1 
  Running scriptlet: rundeck-3.3.7.20201208-1.noarch                 1/1 
  Installing       : rundeck-3.3.7.20201208-1.noarch                 1/1 
  Running scriptlet: rundeck-3.3.7.20201208-1.noarch                 1/1 
  Verifying        : rundeck-3.3.7.20201208-1.noarch                 1/1 
Installed products updated.

Installed:
  rundeck-3.3.7.20201208-1.noarch                                        

Complete!

自己起動型rundeckdサービスを開始および設定します

[root@rundeck ~]# 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 ~]# systemctl start  rundeckd.service
[root@rundeck ~]# systemctl status rundeckd.service
● rundeckd.service - SYSV: rundeckd, providing rundeckd
   Loaded: loaded (/etc/rc.d/init.d/rundeckd; generated)
   Active: active (running) since Sun 2020-12-27 22:05:33 CST; 1s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 140032 ExecStart=/etc/rc.d/init.d/rundeckd start (code=exited, status=0/SUCCESS)
 Main PID: 140042 (runuser)
    Tasks: 0 (limit: 49642)
   Memory: 2.0M
   CGroup: /system.slice/rundeckd.service
           ‣ 140042 runuser -s /bin/bash -l rundeck -c java -Drundeck.jaaslogin=true        >

Dec 27 22:05:33 rundeck.lianglab.cn systemd[1]: Starting SYSV: rundeckd, providing rundeckd.>
Dec 27 22:05:33 rundeck.lianglab.cn rundeckd[140032]: Starting rundeckd: [  OK  ]
Dec 27 22:05:33 rundeck.lianglab.cn systemd[1]: Started SYSV: rundeckd, providing rundeckd.
lines 1-14/14 (END)

[root@rundeck ~]# netstat -anptl | grep 4440
tcp        0      0 0.0.0.0:4440            0.0.0.0:*               LISTEN      140074/java       

Rundeckサービスポート:4440はCentOSファイアウォールで許可されています。

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

別のコンピューターからRundeckWebインターフェースにアクセスすると、エラーが発生する場合があります。この問題を解決するには、Rundeck構成ファイルを編集する必要があります。

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

以下に示すようにgrails.serverURLパラメーターを見つけて更新します。

修改之前
grails.serverURL=http://localhost:4440

修改之后
grails.serverURL=http://192.168.6.200:4440

CentOS 8.2は、Rundeck3.3.7ジョブ自動管理サーバーを展開します

rundeckdサービスを再起動して、新しい構成でプロセスをリロードします。

[root@rundeck ~]#  systemctl restart rundeckd.service
[root@rundeck ~]#  systemctl status rundeckd.service
● rundeckd.service - SYSV: rundeckd, providing rundeckd
   Loaded: loaded (/etc/rc.d/init.d/rundeckd; generated)
   Active: active (running) since Sun 2020-12-27 22:12:07 CST; 20s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 140813 ExecStop=/etc/rc.d/init.d/rundeckd stop (code=exited, status=0/SUCCESS)
  Process: 140848 ExecStart=/etc/rc.d/init.d/rundeckd start (code=exited, status=0/SUCCESS)
 Main PID: 140858 (runuser)
    Tasks: 0 (limit: 49642)
   Memory: 1.9M
   CGroup: /system.slice/rundeckd.service
           ‣ 140858 runuser -s /bin/bash -l rundeck -c java -Drundeck.jaaslogin=true        >

Dec 27 22:12:07 rundeck.lianglab.cn systemd[1]: Starting SYSV: rundeckd, providing rundeckd.>
Dec 27 22:12:07 rundeck.lianglab.cn rundeckd[140848]: Starting rundeckd: [  OK  ]

ステップ5:RundeckがMySQLデータベースバックエンドを構成する


デフォルトでは、RundeckはH2データベースをリポジトリとして使用します。ただし、実稼働環境でH2データベースを使用することはお勧めしませんしたがって、MySQLRundeckのデータベースバックエンドとして構成しました

[1] MySQLデータベースサーバーに接続します。実行中のMySQLデータベースサーバーがない場合、MariaDB10.5.3データベースサービスを展開するにはCentOS8.2が必要です。

[root@rundeck ~]# mysql -u root -plianglab@123
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 12
Server version: 10.5.8-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)]> 

[2] Rundeckサーバー用のデータベースを作成します。

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

[3]データベースユーザーを作成し、Rundeckデータベースに必要な権限を付与します。

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

[4]特権テーブルをリロードします。

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

MySQLシェルを終了します。

MariaDB [(none)]> exit
Bye

CentOS 8.2は、Rundeck3.3.7ジョブ自動管理サーバーを展開します

[5]次に、Rundeck構成ファイルを編集します。

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

[6]このファイルで次のパラメーターを見つけて更新します。(パラメーターが見つからない場合は、追加してください)

修改前
# change hostname here
grails.serverURL=http://192.168.6.200:4440
dataSource.dbCreate = update
dataSource.url = jdbc:h2:file:/var/lib/rundeck/data/rundeckdb;MVCC=true

修改后
# change hostname here
grails.serverURL=http://192.168.6.200:4440
dataSource.dbCreate = update
#dataSource.url = jdbc:h2:file:/var/lib/rundeck/data/rundeckdb;MVCC=true
dataSource.url = jdbc:mysql://192.168.6.200/rundeck?autoReconnect=true
dataSource.username=rundeckuser
dataSource.password=lianglab123
dataSource.driverClassName=com.mysql.jdbc.Driver

[7] rundeckdサービスを再起動して、変更を適用します。

[root@rundeck ~]# systemctl restart rundeckd.service
[root@rundeck ~]# systemctl status rundeckd.service
● rundeckd.service - SYSV: rundeckd, providing rundeckd
   Loaded: loaded (/etc/rc.d/init.d/rundeckd; generated)
   Active: active (running) since Sun 2020-12-27 22:22:50 CST; 9s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 141411 ExecStop=/etc/rc.d/init.d/rundeckd stop (code=exited, status=0/SUCCESS)
  Process: 141451 ExecStart=/etc/rc.d/init.d/rundeckd start (code=exited, status=0/SUCCESS)
 Main PID: 141461 (runuser)
    Tasks: 0 (limit: 49642)
   Memory: 1.9M
   CGroup: /system.slice/rundeckd.service
           ‣ 141461 runuser -s /bin/bash -l rundeck -c java -Drundeck.jaaslogin=true        >

Dec 27 22:22:50 rundeck.lianglab.cn systemd[1]: Starting SYSV: rundeckd, providing rundeckd.>
Dec 27 22:22:50 rundeck.lianglab.cn rundeckd[141451]: Starting rundeckd: [  OK  ]

[8] rundeckdサービスの開始に問題がある場合は、/ var / log / rundeck /ディレクトリのRundeckログファイルエラー探す必要があります。

[2020-12-27T22:54:48,841] ERROR pool.ConnectionPool [main] - Unable to create initial connections of pool.
java.sql.SQLException: Unable to load class: com.mysql.jdbc.Driver from ClassLoader:org.springframework.boot.loader.LaunchedURLClassLoader@7a07c5b4;ClassLoader:org.springframework.boot.loader.LaunchedURLClassLoader@7a07c5b4

CentOS 8.2は、Rundeck3.3.7ジョブ自動管理サーバーを展開します

配置rundeck配置文件使其连接数据库
vim /etc/rundeck/rundeck-config.properties

grails.serverURL=http://192.168.6.200:4440
dataSource.dbCreate = update
#dataSource.url = jdbc:h2:file:/var/lib/rundeck/data/rundeckdb;MVCC=true
dataSource.url = jdbc:mysql://192.168.6.200:3306/rundeck?autoReconnect=true&useSSL=false
dataSource.username=rundeckuser
dataSource.password=lianglab123
dataSource.driverClassName=com.mysql.jdbc.Driver

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

查看rundeck日志
tailf /var/log/rundeck/service.log
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
解决:
vim /etc/my.cnf
[mysqld]
wait_timeout=31536000
interactive_timeout=31536000
重启生效,需要同时修改这两个参数

【9】ログビュー

[root@rundeck ~]# ls -alt /var/log/rundeck/
total 3084
-rw-r--r--.  1 rundeck rundeck 1569895 Dec 27 22:23 rundeck.log
-rw-rw-r--.  1 root    root    1573703 Dec 27 22:23 service.log
drwxrwxr-x.  2 rundeck rundeck    4096 Dec 27 22:05 .
-rw-r--r--.  1 rundeck rundeck       0 Dec 27 22:05 rundeck.executions.log
-rw-r--r--.  1 rundeck rundeck       0 Dec 27 22:05 rundeck.options.log
-rw-r--r--.  1 rundeck rundeck       0 Dec 27 22:05 rundeck.audit.log
-rw-r--r--.  1 rundeck rundeck       0 Dec 27 22:05 rundeck.jobs.log
-rw-r--r--.  1 rundeck rundeck       0 Dec 27 22:05 rundeck.cleanup.log
-rw-r--r--.  1 rundeck rundeck       0 Dec 27 22:05 rundeck.webhooks.log
-rw-r--r--.  1 rundeck rundeck       0 Dec 27 22:05 rundeck.api.log
-rw-r--r--.  1 rundeck rundeck       0 Dec 27 22:05 rundeck.storage.log
-rw-r--r--.  1 rundeck rundeck       0 Dec 27 22:05 rundeck.project.log
-rw-r--r--.  1 rundeck rundeck       0 Dec 27 22:05 rundeck.access.log
drwxr-xr-x. 21 root    root       4096 Dec 27 22:02 ..

画像-20201227222424525

ステップ6:最初のRundeckプロジェクトを作成する

[ GoogleChromeなどのブラウザでURLhttp://192.168.6.200:4440を参照します

CentOS 8.2は、Rundeck3.3.7ジョブ自動管理サーバーを展開します

デフォルトのユーザー名:adminパスワード:adminを使用して、RundeckWebインターフェイスログインします

CentOS 8.2は、Rundeck3.3.7ジョブ自動管理サーバーを展開します

[新しいプロジェクト+]ボタンをクリックして、新しいプロジェクトを作成します。

CentOS 8.2は、Rundeck3.3.7ジョブ自動管理サーバーを展開します

プロジェクトに関する必要な詳細を入力し、[作成]をクリックします。

CentOS 8.2は、Rundeck3.3.7ジョブ自動管理サーバーを展開します

プロジェクトが作成され、[ノードの編集]ページに表示されます。

Rundeckリストに「ローカル」ノードが追加されている場合がありますこれはRundeckサーバーコンピューターであり、このプロジェクトの作成時に自動的に追加されます。

CentOS 8.2は、Rundeck3.3.7ジョブ自動管理サーバーを展開します

ステップ7:新しいジョブを作成する

CentOS 8.2は、Rundeck3.3.7ジョブ自動管理サーバーを展開します

linuxでの自分のパス:/ opt / shell、新しいshell.shを作成し、実行権限、スクリプトコンテンツを付与します。

[root@rundeck shell]# vi shell.sh
[root@rundeck shell]# cat  shell.sh
#!/bin/bash
date
uptime

[root@rundeck shell]# chmod 755 shell.sh 

[1]タスクを作成する

CentOS 8.2は、Rundeck3.3.7ジョブ自動管理サーバーを展開します

[2]ローカルURLパスを選択し、ファイルパスを入力し、クリックして保存します

CentOS 8.2は、Rundeck3.3.7ジョブ自動管理サーバーを展開します

CentOS 8.2は、Rundeck3.3.7ジョブ自動管理サーバーを展開します

[3] Rundeckのタイミングスケジューリング
CentOS 8.2は、Rundeck3.3.7ジョブ自動管理サーバーを展開します

[4] ACTIVITYの場所にあるリアルタイムタスク実行インターフェイスを表示できます。

CentOS 8.2は、Rundeck3.3.7ジョブ自動管理サーバーを展開します

Rundeckサーバーが正常にインストールおよび構成されました。Rundeck Webインターフェイスの使用については、Rundeckのドキュメントを参照してください

おすすめ

転載: blog.51cto.com/56281688/2575403