Rundeck je bezplatný open-source software pro automatizační služby. Poskytuje samoobslužný přístup k procesům a nástrojům, které potřebují ke své práci. Pomocí Rundeck můžete vytvářet automatizační pracovní postupy z existujících nástrojů nebo skriptů. Poskytuje webovou konzoli, nástroje CLI a webové rozhraní API pro spouštění úloh automatizace.
V tomto tutoriálu se naučíme, jak instalovat Rundeck komunita na Ubuntu 20.04 .
Předpoklady
- Instance Ubuntu 20.04 s alespoň 2 CPU
- 4 GB RAM
- 20 GB pevný disk
- Java 8 nebo novější
- Databáze – MySQL/MariaDB, Oracle nebo PostgrSQL
- Log Store pro protokoly, což je buď výchozí systém souborů, nebo úložiště objektů kompatibilní s S3
- Otevřeny porty 4440 (http) a 4443 (https)
Krok 1:Nainstalujte Javu na Ubuntu
Rundeck vyžaduje Java 8 nebo Java 11 správně fungovat. Pokud není standardně nainstalována, nainstalujte Javu pomocí následujících příkazů.
Nejprve aktualizujte mezipaměť úložiště
$ sudo apt update
Nyní pro instalaci Java 11 spusťte následující příkaz:
$ sudo apt install openjdk-11-jre-headless
Verzi si můžete ověřit:
java -version
Krok 2:Nainstalujte MySQL na Ubuntu
Rundeck podporuje MySQL, PostgreSQL, Oracle a MS SQL Server pro ukládání dat. V našem případě budeme používat MySQL.
Chcete-li nainstalovat MySQL na Ubuntu, spusťte následující příkaz:
$ sudo apt install mysql-server
Poté povolte službu MySQL při spuštění, zadejte:
$ sudo systemctl enable mysql-server
Nyní přístup k databázi:
$ mysql -u root -p
Vytvořte databázi Rundeck a uživatele:
mysql> CREATE DATABASE rundeckdb;
Query OK, 1 row affected (0.00 sec)
mysql> CREATE USER 'rundeck_user'@'localhost' IDENTIFIED BY 'PASSWORD';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'rundeck_user'@'localhost' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
bye
Krok 3:Instalace Rundeck na Ubuntu 20.04
Zde nainstalujeme komunitní verzi Rundeck. Soubor deb balíčku si můžete stáhnout buď přímo z webu vyplněním formuláře, nebo z oficiálního úložiště.
Zde budu instalovat z oficiálního úložiště což vždy zajišťuje nejnovější verzi.
Za tímto účelem nejprve naimportujeme podpisový klíč úložiště.
$ curl -L https://packages.rundeck.com/pagerduty/rundeck/gpgkey | sudo apt-key add -
Pak přidejte soubor se seznamem zdrojů Rundeck /etc/apt/sources.list.d/rundeck.list
$ sudo vim /etc/apt/sources.list.d/rundeck.list
deb https://packages.rundeck.com/pagerduty/rundeck/any/ any main
deb-src https://packages.rundeck.com/pagerduty/rundeck/any/ any main
Aktualizujte mezipaměť úložiště
$ sudo apt update
Nyní nainstalujte Rundeck pomocí příkazu apt, zadejte:
$ sudo apt install rundeck
Nyní musíme říci Rundeckovi, jak připojit databázi. Upravíme jeho konfigurační soubor s některými aktualizacemi. Ujistěte se, že jste nahradili již existující řádky dobrými hodnotami odpovídajícími vaší konfiguraci
$ sudo vim /etc/rundeck/rundeck-config.properties
grails.serverURL=http://YOUR_SERVER_IP:4440
dataSource.driverClassName = org.mariadb.jdbc.Driver
dataSource.url = jdbc:mysql://localhost/rundeckdb?autoReconnect=true&useSSL=false
dataSource.username = rundeck_user
dataSource.password = PASSWORD
Pokud jste nainstalovali jinou databázi, některé konfigurace by se měly změnit.
Nyní povolte službu při spuštění
$ sudo systemctl enable rundeckd.service
Poté spusťte službu Rundeck:
$ sudo systemctl start rundeckd.service
Můžete zkontrolovat stav
$ sudo systemctl status rundeckd.service
● rundeckd.service - LSB: rundeck job automation console
Loaded: loaded (/etc/init.d/rundeckd; generated)
Active: active (running) since Sat 2021-11-06 01:05:34 UTC; 2s ago
Docs: man:systemd-sysv-generator(8)
Process: 229955 ExecStart=/etc/init.d/rundeckd start (code=exited, status=0/SUCCESS)
Main PID: 229976 (java)
Tasks: 12 (limit: 2279)
Memory: 114.7M
CGroup: /system.slice/rundeckd.service
└─229976 java -Drundeck.jaaslogin=true -Djava.security.auth.login.config=/etc/rundeck/jaas-loginmodule.conf -Dloginmodule.name=RDpropertyfilelogin -Drdeck.config=/etc/rundeck -Drundeck.server.configDir=/etc/rundeck -D>
Nov 06 01:05:34 li663-64 systemd[1]: Starting LSB: rundeck job automation console...
Nov 06 01:05:34 li663-64 rundeckd[229955]: * Starting rundeckd
Nov 06 01:05:34 li663-64 rundeckd[229955]: ...done.
Nov 06 01:05:34 li663-64 systemd[1]: Started LSB: rundeck job automation console.
Nejprve bychom měli změnit výchozí heslo uživatele admin, protože výchozí je stále admin
$ sudo vim /etc/rundeck/realm.properties
admin:NEW_ADMIN_PASSWORD,user,admin,architect,deploy,build
V tuto chvíli, pokud chcete zkontrolovat, že vše funguje, můžete zkusit získat přístup k Rundeck s IP a portem 4440, ale předtím jej budete muset otevřít na firewallu.
Protože budeme používat Nginx, budeme muset upravit některé další konfigurační soubory v jiných, abychom upravili URL Rundeck. Budeme muset uvést adresu URL, kterou Nginx použije pro přístup k Rundeck. Nejprve upravíme /etc/rundeck/framework.properties
konfigurační soubor
$ sudo vim /etc/rundeck/framework.properties
framework.server.url = http://rundeck.domain.com
Poté znovu upravíme /etc/rundeck/rundeck-config.properties
konfigurační soubor. Je to ten, který jsme použili k označení IP adresy serveru a výchozího portu, ale nyní vložíme název domény.
$ sudo vim /etc/rundeck/rundeck-config.properties
grails.serverURL=http://rundeck.websitefortesting.com
Krok 4:Proxy ukončený protokolem SSL
Zde použijeme Nginx jako reverzní proxy pro ukončení SSL. To pomáhá Rundecku s podporou SSL/HTTPS.
Nginx je k dispozici v úložišti apt, můžete jej jednoduše nainstalovat pomocí následujícího příkazu:
$ sudo apt install nginx
Nyní musíte zkopírovat certifikát vaší domény Rundeck.
$ sudo cp rundeck.domain.com.crt /etc/nginx/certs/rundeck.domain.com.crt
Musíte také zkopírovat klíč
$ sudo cp rundeck.domain.com.key /etc/nginx/certs/rundeck.domain.com.key
Odeberme výchozí konfigurační soubor, abychom předešli konfliktu
$ sudo rm /etc/nginx/sites-enabled/default
Nyní vytvoříme konfigurační soubor Rundeck.
$ sudo vim /etc/nginx/sites-available/rundeck.conf
server { server_name rundeck.domain.com; listen 80 ; access_log /var/log/nginx/rundeck.log; return 301 https://$host$request_uri; } server { server_name rundeck.domain.com; listen 443 ssl http2 ; access_log /var/log/nginx/rundeck.log;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES"; ssl_prefer_server_ciphers on; ssl_certificate /etc/nginx/certs/rundeck.domain.com.crt; ssl_certificate_key /etc/nginx/certs/rundeck.domain.com.key; add_header Strict-Transport-Security "max-age=31536000";
location / { proxy_pass http://localhost:4440; proxy_set_header X-Forwarded-Host $host:$server_port; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
Nyní povolme konfigurační soubor
$ sudo ln -s /etc/nginx/sites-available/rundeck.conf /etc/nginx/sites-enabled/rundeck.conf
Zkontrolujte konfiguraci Nginx
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Krok 5:Přístup k rozhraní Rundeck
Nyní můžete přejít do svého prohlížeče a otevřít Rundeck pomocí adresy URL http://rundeck.domain.com
Pro přístup k webovému rozhraní Rundeck je uživatelské jméno admin
a heslo je to, které jsme předtím upravili NEW_ADMIN_PASSWORD
.
Nyní máte přístup ke svému Rundeck
Chcete-li začít s konfigurací, můžete vytvořit nový projekt.
Závěr
V tomto tutoriálu jsme se naučili, jak nainstalovat edici komunity Rundeck na váš server Ubuntu 20.04. Můžete provést některé konfigurace a vytvořit nový projekt, abyste mohli začít používat svůj Rundeck