Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ansible and Ansible Tower 1 A simple IT automation platform. www.europeanspallationsource.se 20 November 2015 Leandro Fernandez and Blaž Zupanc.

Similar presentations


Presentation on theme: "Ansible and Ansible Tower 1 A simple IT automation platform. www.europeanspallationsource.se 20 November 2015 Leandro Fernandez and Blaž Zupanc."— Presentation transcript:

1 Ansible and Ansible Tower 1 A simple IT automation platform. www.europeanspallationsource.se 20 November 2015 Leandro Fernandez and Blaž Zupanc

2 Scope 2 The aim of this presentation is to describe how we plan to manage the software in the Software Group: services and development environment We hope you find interesting the tools and workflows that will be presented. And count on us to help you if you want to use these technologies in your own projects.

3 Why? 3 Huge amount of software Different projects Different people Different companies and organizations

4 Why 4 We need to be in control

5 How we used to deployed our software 5 Up to each developer Different technologies and languages Lack of documentation Difficult to reproduce installations Manual and error-prone process

6 We needed to get back in control 6 Standardize the deployment and configuration Unify technologies and languages Self-document system Reproducible deployments Infrastructure as a code Automation

7 How? 7 We want a system that will help us to : Describe how we want to configure our systems: software, versions… Describe how to orchestrate our systems Configuration management and provisioning tool

8 Ansible

9 Ansible Introduction Ansible is a software platform for configuring and managing computers. It combines multi-node software deployment, ad hoc tasks execution and configuration management. Use case to get an idea: Write configuration of a production server as code (installed software, services to be running...everything) Enjoy having the whole configuration documented Run this code and have a production server running in a matter of minutes 9

10 Ansible Main features Documented and reusable machine configuration written in Ansible playbooks. Agentless No client daemon required on target machines. Idempotent Code defines states instead of actions. Multi-node orchestration Configure many nodes simultaneously. 10

11 Ansible Other useful features Simple installation (only needed on one machine) requires Python > 2.4, yum install epel-release, yum install ansible Easy to use human-readable YAML syntax Organizational features to reuse chunks of code without duplicating it Variables, prompts, hosts groups, playbook dependencies... 11

12 Ansible Playbook example 12

13 Ansible Tower Introduction is a user friendly web-based Graphical User Interface (GUI) that lowers the entry barrier of using Ansible. 13

14 Ansible Tower Architecture 14 https://ansible02.esss.lu.se ansible02... Machine 1 Machine 2 Machine 3 Machine 4 Machine examples: ics-services.esss.lu.se artifactory01.esss.lu.se local Vagrant machine... SSH HTTPS

15 Ansible Tower Main features Easy to use GUI with push button execution Centralized job runs, playbook storage, logs... Schedule jobs Use playbooks from the server or from source control Graphical real time output and log history 15

16 Ansible Tower Other useful features LDAP integration Role based access control Encrypted credentials storage Extensible with a fully documented REST API Support is provided 16

17 Ansible Playbook repositories https://bitbucket.org/europeanspallationsource/<repo_namehttps://bitbucket.org/europeanspallationsource/ Repo name: ics-ans-devenv Development machine playbooks. ics-ans-nfsserver In-kind EEE server playbooks. ics-ans-general Other general purpose playbooks. ics-ans-maintenance Playbooks for maintaining existing systems. 17

18 Sections Projects A project is bound to a repository of Ansible playbooks which can exist physically on the server or in Git, Mercurial, Subversion. Inventories Inventory is a collection of target machines (hosts). You can assign hosts to an inventory or create groups containing hosts. Job templates A job template is a template for executing a job. It defines a specific playbook in a specific project that is to be run, as well as the inventory to be run on and credentials to be used to connect to hosts from the inventory. Jobs A job is an execution of a job template. You can graphically follow the results from every step of the playbook in real time and for past executions as well. 18

19 Ansible Tower Demo 19 Install java 8 Integrate the machine into LDAP Mount a folder using autofs Set up an NFS server and make a folder mountable


Download ppt "Ansible and Ansible Tower 1 A simple IT automation platform. www.europeanspallationsource.se 20 November 2015 Leandro Fernandez and Blaž Zupanc."

Similar presentations


Ads by Google