Welcome, Guest Login

Rundeck Pro Support Center

Install Rundeck Pro Cluster with rdpro-installer on Linux

Last Updated: Jan 16, 2017 02:02PM PST

Install dependencies

The rdpro-installer and rundeck depend on a few third party packages:

yum -y install java-1.7.0 unzip curl nc xmlstarlet

Prepare external service dependencies


Create a database for the rundeck application. The conventional name is "rundeck". You will also need to note the username and password to the database account. The example below shows Mysql configured for the datasource:

    --datasource-driver com.mysql.jdbc.Driver
    --datasource-url 'jdbc:mysql://mysqlhost/rundeck?autoReconnect=true' 
    --datasource-username rundeckuser 
    --datasource-password rundeckpassword 

You should just create the database and grant access to the rundeck instances that will access it. 

> Note if you are using Postgresql use drivername: org.postgresql.Driver


If you are authenticating to ldap there are several bits of information needed by the installer.
The following options define the ldap connection string and user/role pattern:

    --jndi-connection-url 'ldap://myldap:389' 
    --jndi-connection-name 'cn=Manager,dc=example,dc=com' 
    --jndi-connection-password 'password' 
    --jndi-user-pattern 'cn={0},ou=users,dc=example,dc=com' 
    --jndi-role-base 'ou=roles,dc=example,dc=com' 

Replace the example values with ones to your LDAP server.

Load Balancer VIP

Configure your load balancer with the VIP your cluster will sit behind. You can configure the VIP to use sticky sessions. If the load balancer does application level stickiness specify JSESSIONID for the cookie.

Note the VIP address as $SERVER_VIP used elsewhere in the documentation.

Once each of the instances is created, you will add them to the VIP rule.

Create a user account

Create a system login for the rundeck instance:

useradd -m rundeck

Establish RDECK_BASE

This is usually ~rundeck (eg, /home/rundeck) but can be located where you need it.

Run installer on each Instance host

As the rundeck user run the rdpro-installer install-all command. Here's an example:

rdpro-installer install-all \
    --http-port 4440 \
    --https-port 4443 \
    --keystore-generate true \
    --keystore-file $RDECK_BASE/etc/truststore \
    --keystore-pass changeit \
    --keystore-dname 'CN=acme.org,OU=CA,O=ACME,L=Acme,S=Acme,C=US' \

    --datasource-driver com.mysql.jdbc.Driver \
    --datasource-url 'jdbc:mysql://mysqlhost/rundeck?autoReconnect=true' \
    --datasource-username rundeckuser \
    --datasource-password rundeckpassword \
    --jndi-connection-name 'cn=Manager,dc=example,dc=com' \
    --jndi-connection-password 'password' \
    --jndi-connection-url 'ldap://myldap:389' \
    --jndi-user-pattern 'cn={0},ou=users,dc=example,dc=com' \

    --jndi-role-base 'ou=roles,dc=example,dc=com' \
    --server-name $(hostname) \
    --server-url "https://$SERVER_VIP:4443/rundeckpro"

Configure cluster mode

Also, as the rundeck user execute the configure-clustermode to enable it:

rdpro-installer configure-clustermode \
  --enabled true \
  --rdeck-base $RDECK_BASE

Configure log storage directory.

Also, as the rundeck user execute the configure-logs-dir to enable it:

rdpro-installer configure-logs-dir \
  --logs-dir /path/to/logs/directory \
  --rdeck-base $RDECK_BASE

> Note, the logs-dir directory might specify a NAS or NFS file system shared among the cluster instances.

Startup and shutdown

The Tomcat container provides startup and shutdown scripts. By default they will be located in $RDECK_BASE/server/bin

Run the commands as the rundeck user.





Startup from boot

The installer generates a `rundeckd` script suitable to run as root.  

        Usage: rundeckd {start|stop|restart|status}
You can create a symbolic link this script to /etc/init.d/rundeckd 

ln -s $RDECK_BASE/sbin/rundeckd /etc/init.d/rundeckd 


seconds ago
a minute ago
minutes ago
an hour ago
hours ago
a day ago
days ago
Invalid characters found