Rundeck Enterprise Architecture

Rundeck architecture
Rundeck architecture

Installation

To install a Rundeck Pro Enterprise instance, download the lastest version from here, and follow the steps in the Installation Guide

Requirements

The Rundeck Enterprise environment needs the following shared resources:

Database

  • 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

Load Balancer

A loadbalancer allows you to achieve high availability in your Rundeck Pro installation by routing http traffic across several redundant Rundeck Pro instances.

  • Set the grails.serverURL parameter of all cluster members (rundeck-config.properties) with the LB URL.

  • Use Sticky session

See: Loadbalancer

Log Storage

All Cluster members must share the log storage.

See: Logstore

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:

  • Checkpoint log storage: This enables viewing the execution logs while the execution is running.

Authentication

The cluster environment needs a common authentication method. All the instances must have access to the same list of users/groups

See: Authenticating Users

Resource Model

Projects need a common resource model that can be accessed from all cluster members. These are some of the alternatives to achieve this:

  • A shared file system
  • A script
  • A REST endpoint

See: Node Model Sources

Features:

Autotakeover

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 Pro version 2.1.0 and later releases.

See: Autotakeover

Cluster Remote Execution Policy

This feature allows Rundeck Pro cluster members to forward job executions to other cluster members based on a policy configuration.

See: Remote Job Execution

Rundeck Pro Replication

This plugin is used for an active/passive configuration. Each cluster member can have its own database.

See Rundeck Pro Replication

Sections

  1. Loadbalancer
  2. Autotakeover
  3. Logstore
  4. Rundeck Pro Replication
  5. Cloud deployment