Welcome to
Practical Ansible
A half day workshop
designed to get you up and running
Previous experience
Configuration Management
We will run through
- Who we are
- the structure of the workshop
- what you should get out of the workshop
Introduction
Who We Are
default
The workshop is supplied and provisioned by...
and content and delivery is provided by...
Equal Experts
www.equalexperts.com
Making Software. Better.
Simple solutions to big business problems.
Cloud2Class
www.cloud2class.com
From the Cloud to the Classroom
Virtual training environments and instructors
The key attributes of the workshop
What is this?
A fast-paced practical workshop
- Technology Introduction
- Team based
- Collaborative
- Minimum to get you up and running
- Resources to carry on
default
What is this?
But this means...
- Lot's to cover
- Won't cover everything
- Less detail
- Rough edges
Structure
- Team-based
- Goals
- 3 Sections
- Winning team gets a super-secret prize
ChatStop :making sure it makes sense, questions, working out how the information you learned can hekp you reach your goals
Team-time is collaboration time. Put it into practise.
Ask me to help out at any time
I wont type the commands for you, but i will point you in the right direction.
Each section looks broadly like this...
Theory
Demo
Breakdown
ChatStop
Team-Time
Let's get to know each other
- names
- expectations
- favourite movie
* Set up teams in interface
* Show the scoreboard
Teamwork and Goals
There are no losers: Unless you're the winner
Teamwork and Goals
There are no losers: Unless you're the winner
Kanbanflow
We will use Kanbanflow is the tool to...
- Track reference information
- Store credentials
- gather feedback
Log on to the various sites
Show creds in kanbanflow
Training Environment
A little bit of theory: 1
What is Ansible
Ad-Hoc commands
Configuration Management
Goals
Getting your webserver up and running
webnode-1
webnode-2
Install a webserver
Install mysql
Deploy web content
Create the database
web content: /root/webcontent
creation script: /root/initialise.sql
- Don't log on to the servers
What is Ansible?
According to Wikipedia
Minimal in nature. Management systems should not impose additional dependencies on the environment.[9]
Consistent.[clarification needed]
Secure. Ansible does not deploy vulnerable agents to nodes. Only OpenSSH is required, which is already critically tested.[9]
Highly reliable. The idempotent resource model is applied to deployment to prevent side-effects from re-running scripts.[1]
Low learning curve. Playbooks use an easy and descriptive language based on YAML.
According to Ansible
Ansible is an Open Source tool that can be used for...
Configuration Management
Orchestration
Deployment
Ansible strives to give you:
basic ability to blast out commands to remote systems
basic ability to blast out resource instructions to a remote system
ability to trigger some configuration management automation to run
some basic ordering of what system should configure before some other system
the ability to build a general purpose workflow system, such as a pipeline of dependent steps in an IT process
That last one is awesome
Use-Cases
Configuration Management :
Enforcing a defined state upon a running machine
e.g. Software loadout, user management, service configuration (nginx, ntp), OS configuration (kernel parameters), scheduled jobs (cron)
Orchestration :
Performing operations on machines in relation to each other
GET mainstream definition
e.g. Cluster management (MongoDB, ElasticSearch), Complex installations (atabase must be up first), Multi-step deployments
Deployment :
From simple, to scaled, to multi-tier traditional applications
Why is it so good
Full-on demo
- two machines
- install mysql on one
- initialise the database
- install simple web app on the other
- install wordpress on the other
- run twice
- run components
Components
Transport mechanism: ssh
- setting up ssh accounts
Which machines? host-lists and dynamic host-lists
Two main modes of operation
- Ad Hoc mode
Modules
Lightning Demo
- get status from all machines
Breakdown
Anatomy of an Ad-Hoc command
What they are
How to use them
Cheatsheet for ad-hoc commands
Layout goal 2
- install and recycle a cluster
- write a playbook to do this
- bonus goal
Part 2:
A little bit of theory part 2
Playbooks
Variables
Pipelining
application deployment
ochestration examples
Welcome to
Practical Ansible
A half day workshop
designed to get you up and running