Rundeck
Joel R. Moya Lupe
Quality Engineer
Por favor, mantenga su
celular en modo silencioso
4
What is Rundeck?
Rundeck is a software that helps you automate routine operational in data center or cloud environments.
A Server for people that want to create reusable task automation
5
What is Rundeck?
An open source software project at GitHub (Apache 2.0 license)
Teams can collaborate to share how processes are automated while others are given trust to view operational activity or execute tasks.
New idea: “Operations as a Service”
6
Essential Concepts
Projects:
A project is a place to separate
management activity. All Rundeck
activities occur within the context of a
project.
Jobs:
A Job is a configuration representing
input options. A job encapsulate a
sequence of steps, job options and
nodes where the steps execute.
Essential Concepts
Nodes:
A node is a resource that is either a
physical or virtual instance of a
network accessible host. A resource
model is a representation of Nodes in
a project.
7
Commands:
A command is a single executable
string executed on a Node.
Rundeck invokes commands on
nodes via a node executor.
8
Executions:
An execution is a
representation of the activity
of a running or completed
command or job.
Essential Concepts
Role-based Access Control Policies:
A Rundeck access control
policy grants users and user groups
certain privileges to perform actions
against Rundeck.
9
Plugins:
Most of what Rundeck does is via one of its plugins. Plugins
exist to execute commands on nodes, perform steps in a
job, send a notification about job status, gather information
about the hosts in your network, etc.
Essential Concepts
10
Essential Concepts
Users
Rundeck has three basic ways of defining authentication.
• PropertyFileLoginModule
It allows to manage user credentials for Rundeck using a text
file, which containing usernames, passwords and role
definitions. Usually this file is called realm.properties.
• LDAP
Through JAAS login module you can use for LDAP directory
authentication
• PAM
This module can work with existing properties-file based
authorization roles by enabling shared credentials between the
modules.
11
Rundeck architecture RunDeck stores job definitions and execution history in a relational
database. Output from command and job executions is saved on
disk.
Jenkins - Rundeck
12
"Rundeck is made for Operations and knows
about the details of your environments.“
Jenkins is a development
tool, designed for
automating software builds.
Rundeck is an operations
tool, designed for executing
operations tasks.
13
Real use case Technologies: Java, Tomcat, Maven
CI server: Jenkins
Code repository: Subversion
Artifacts manager: Nexus
Install
14
Windows:
java -jar rundeck-launcher-2.1.2.jar
Linux
CENTOS
Yum RPM Install
rpm -Uvh http://repo.rundeck.org/latest.rpm
yum install rundeck
service rundeckd start
Install
15
UBUNTU
http://dl.bintray.com/rundeck/rundeck-deb
/rundeck-2.3.2-1-GA.deb
dpkg -i rundeck-2.3.2-1-GA.deb
Modify configuration files
sudo nano rundeck-config.properties
# change hostname here grails.serverURL=http://172.20.200.XX:4440
16
Login
The default port for the
web interface is 4440. If
you installed Rundeck on
your local machine, go to
this
URL: http://localhost:4440
Rundeck requires every
user to login. The default
installation defines an
"admin" user with access
to perform all actions. Use
"admin" for username and
password.
17
Laboratory
Open document of laboratory
TZ2014_Workshop_Rundeck.docx
18
Laboratory
What do you expect to learn from this Lab?
− Installation
−Manage configuration files
−Create Projects
−Add nodes
−Manage users
−Create and run Jobs
−Execute ad hoc commands
− Integrate with Jenkins
19
Laboratory
Requirements
−Basic knowledge about Linux and Shell commands
−Basic knowledge about Jenkins and Continuous
Integration
20
Laboratory
Tools that will be used in the lab
− Putty
−Browser (Mozilla Firefox or Chrome)
21
Laboratory
Environment
Browser
Putty
172.20.200.XX
172.20.200.68
22
Q&A
23