Skip to content

Commit

Permalink
issue gr0und-s3ct0r#7 - whats ansible
Browse files Browse the repository at this point in the history
  • Loading branch information
dj4ngo committed Oct 12, 2017
1 parent e4fa9d4 commit 7d4480a
Showing 1 changed file with 26 additions and 3 deletions.
29 changes: 26 additions & 3 deletions _drafts/contribute-to-ansible.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,32 @@
git installé

## What's Ansible?
Principe de fonctionnement
petit exemple d'installation d'un paquet (liens vers le site officiel de ansible)
Différencier serveur de client (machine hote ou cible) retrouve rles vrais termes ansible

If you are reading this article, you should propably be already familiar with Ansible... So if you're not reading it, we'll explain it quickly ...

Why Ansible ? Because it's cool! But not only ... It's really really more practical and easy to use than just cool. Ansible will help you to manage easily your laptops/servers/network devices/IoT/everything or almost ! Ansible force lie in the capability to easily configure a lot of devices and guaranty that the configuration is consistent in all targets regardless the initial state. How is it done ? The concept behind an Ansible module is to be re-enterable!

OK, that sounds great, but what's the price? Ansible is an open-source project which have a growing community and it is really easy to use, so it won't costs many times (it will even save so much !) and it's fully free (you can have some support on some modules for profesionnal purposes regarding your use cases).

####Principle :

Let's define before some glossary terms :
There are two kinds of machines used during an Ansible deployment:
- Ansible is executed on a server host called `controller`
- The servers/devices managed by Ansible are called `managed nodes`
Complete glossary is available [here](http://docs.ansible.com/ansible/latest/glossary.html)

Ansible uses an [inventory](http://docs.ansible.com/ansible/latest/intro_inventory.html) which defines all managed nodes access in a simple (or multiples) YAML file. Ansible is using SSH to manage nodes. It can deal with a password or key authentication and is able to elevate privileges using su, sudo [or several others](http://docs.ansible.com/ansible/latest/become.html). You can even use an SSH bastion by simply using ssh args variables or your `ssh_config` file. This can address almost cases.

To define what to perform on managed nodes you must creates playbook. This is still YAML files. You can find some documentation about playbooks [here](http://docs.ansible.com/ansible/latest/playbooks.html). To avoid having code duplication and win some flexibility I strongly recommend you to use [playbooks roles](http://docs.ansible.com/ansible/latest/playbooks_roles.html).

We recommend to follow the [best practices](http://docs.ansible.com/ansible/latest/playbooks_best_practices.html) to organize your Ansible directory layout


Get more informations on [how it works](https://www.ansible.com/how-ansible-works) or more generaly on [Ansible official site](https://www.ansible.com/)
The [Ansible documentation](http://docs.ansible.com/ansible/latest/index.html) is really up-to-date, well organised and contained a lots of example. It will be a great help for you.



## Why contribute?

Expand Down

0 comments on commit 7d4480a

Please sign in to comment.