IT/Software/Ansible: Difference between revisions

From msgwiki
< IT‎ | Software
Jump to navigation Jump to search
Access restrictions were established for this page. If you see this message, you have no access to this page.
(Created page with "Ansible Ansible is an open source IT automation engine that automates provisioning, configuration management, application deployment, orchestration, and many other IT processes. It is free to use, and the project benefits from the experience and intelligence of its thousands of contributors. https://www.ansible.com/ Some pros: - reproducible - fast deployment - scalable Important files: inventory.yml This file contains a list of your hosts to which playbooks c...")
 
(initial version)
Line 1: Line 1:
Ansible
== Ansible ==
Ansible is an open source IT automation engine that automates provisioning, configuration management, application deployment, orchestration, and many other IT processes.It is free to use, and the project benefits from the experience and intelligence of its thousands of contributors.


Ansible is an open source IT automation engine that automates provisioning, configuration management, application deployment, orchestration, and many other IT processes. It is free to use, and the project benefits from the experience and intelligence of its thousands of contributors. 
https://www.ansible.com/
https://www.ansible.com/


Some pros:
'''Pros:'''  
- reproducible 
- fast deployment 
- scalable  


Important files:
* reproducible environments
inventory.yml
* easy to begin with
This file contains a list of your hosts to which playbooks can refer to.
* fast deployment
* scalable


playbook.yml
'''Cons:'''
Contains the tasks/steps that shoud be executed.
 
* small time investment to learn it
 
=== In a nutshell ===
 
* A Control Node executes tasks from playbooks on Managed Nodes over SSH or API's
* Control Node: This can be any linux based host (or wsl) where ansible is installed and is connected to the same network as the Managed Nodes
* Managed Node: Any device that should be managed
* playbook.yml: A yml file that contains the involved hosts, process and tasks that should be done
* inventory.yml: A yml file that contains all hosts, grouped in sections if needed (e.g. different branches, locations, device/os types)


See also IaC/IaaC   
See also IaC/IaaC   
https://en.wikipedia.org/wiki/Infrastructure_as_code
https://en.wikipedia.org/wiki/Infrastructure_as_code


Install Ansible
=== Install Ansible ===


- https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html
* https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html


Linux
==== Linux ====


- `sudo apt install ansible`
* <code>sudo apt install ansible</code>


Windows
==== Windows ====


- install wsl first
* install wsl first
- https://learn.microsoft.com/en-us/windows/wsl/install
* https://learn.microsoft.com/en-us/windows/wsl/install
- `wsl --install`
* run in Terminal <code>wsl --install</code>


Execute Playbooks
==== Execute Playbooks ====


- example with a playbook named playbook-example.yml
* example with a playbook named playbook-example.yml and inventory.yml
- `ansible-playbook -i inventory.yml playbook-example.yml -K`
* <code>ansible-playbook -i inventory.yml playbook-example.yml -kK</code>
- `-K` if become/sudo is needed
* <code>-K</code> if become/sudo is needed
* <code>-k</code> for user/password based authentication

Revision as of 20:20, 2 May 2024

Ansible

Ansible is an open source IT automation engine that automates provisioning, configuration management, application deployment, orchestration, and many other IT processes.It is free to use, and the project benefits from the experience and intelligence of its thousands of contributors.

https://www.ansible.com/

Pros:

  • reproducible environments
  • easy to begin with
  • fast deployment
  • scalable

Cons:

  • small time investment to learn it

In a nutshell

  • A Control Node executes tasks from playbooks on Managed Nodes over SSH or API's
  • Control Node: This can be any linux based host (or wsl) where ansible is installed and is connected to the same network as the Managed Nodes
  • Managed Node: Any device that should be managed
  • playbook.yml: A yml file that contains the involved hosts, process and tasks that should be done
  • inventory.yml: A yml file that contains all hosts, grouped in sections if needed (e.g. different branches, locations, device/os types)

See also IaC/IaaC https://en.wikipedia.org/wiki/Infrastructure_as_code

Install Ansible

Linux

  • sudo apt install ansible

Windows

Execute Playbooks

  • example with a playbook named playbook-example.yml and inventory.yml
  • ansible-playbook -i inventory.yml playbook-example.yml -kK
  • -K if become/sudo is needed
  • -k for user/password based authentication