The Rundeck Enterprise environment needs the following shared resources:
All the cluster members must share the same DB:
See: Database Backends.
The keys and project data must be stored in the DB (enabled by default since 2.4.x):
See: Storage Facility
A loadbalancer allows you to achieve high availability in your Rundeck Enterprise installation by routing http traffic across several redundant Rundeck Enterprise instances.
grails.serverURL parameter of all cluster members (
rundeck-config.properties) with the LB URL.
Use Sticky session
All Cluster members must share the log storage.
Note: If you use the S3 Log Storage Plugin Be sure to use
com.rundeck.rundeckpro.amazon-s3 in place of
org.rundeck.amazon-s3. It adds the additional feature:
The cluster environment needs a common authentication method. All the instances must have access to the same list of users/groups
See: Authenticating Users
Projects need a common resource model that can be accessed from all cluster members. These are some of the alternatives to achieve this:
See: Node Model Sources
Scheduled jobs are owned by the last cluster member who modified them. Jobs can also be controlled using Cluster Manager. If a cluster member goes down, all scheduled jobs on that cluster member must be moved to another cluster node. This process can be performed automatically using the heartbeat and Autotakeover features in Rundeck Enterprise version 2.1.0 and later releases.
This feature allows Rundeck Enterprise cluster members to forward job executions to other cluster members based on a policy configuration.
See: Remote Job Execution
This plugin is used for an active/passive configuration. Each cluster member can have its own database.