Skip to content

Commit c5cdc50

Browse files
committed
Add Ansible basics
1 parent 9c0853c commit c5cdc50

File tree

2 files changed

+39
-2
lines changed

2 files changed

+39
-2
lines changed
Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,36 @@
1-
# Ansible
1+
# Ansible
2+
3+
***************************
4+
## Table Of Contents:
5+
- [Introduction](#introdution)
6+
- [Terminology](#terminology)
7+
- [References](#reference)
8+
9+
## Introdution:
10+
- What is Ansible?
11+
- Ansible allows you to achieve "Simple IT Automation". You describe the desired state of your machines, and Ansible manipulates them to achieve this state. The file in which you describe the desired state is called **Playbook**, which is written in **YAML**.
12+
13+
### Terminology:
14+
- **Control Node**: the machine where Ansible is installed, responsible for running the provisioning on the servers you are managing.
15+
- **Inventory**: an `INI` file that contains information about the servers you are managing.
16+
- **Playbook**: a `YAML` file containing a series of procedures that should be automated.
17+
- **Task**: a block that defines a single procedure to be executed, e.g.: install a package.
18+
- **Module**: a module typically abstracts a system task, like dealing with packages or creating and changing files. Ansible has a multitude of built-in modules, but you can also create custom ones.
19+
- **Role**: a set of related playbooks, templates and other files, organized in a pre-defined way to facilitate reuse and share.
20+
- **Play**: a provisioning executed from start to finish is called a play.
21+
- **Facts**: global variables containing information about the system, like network interfaces or operating system.
22+
- **Handlers**: used to trigger service status changes, like restarting or reloading a service.
23+
24+
### Getting Started:
25+
- A basic Ansible command or playbook:
26+
- selects machines to execute against from inventory
27+
- connects to those machines (or network devices, or other managed nodes), usually over SSH
28+
- copies one or more modules to the remote machines and starts execution there
29+
- Working With Modules
30+
- Ansible ships with a number of modules (called the ‘module library’) that can be executed directly on remote hosts or through Playbooks.
31+
- Users can also write their own modules. These modules can control system resources, like services, packages, or files (anything really), or handle executing system commands.
32+
33+
### Resources:
34+
- [Ansible Documentation](https://docs.ansible.com/)
35+
- [Configuration Management 101: Writing Ansible Playbooks](https://www.digitalocean.com/community/tutorials/configuration-management-101-writing-ansible-playbooks)
36+
- [Why you might need Ansible and not even know it](https://www.freecodecamp.org/news/why-you-might-need-ansible-and-not-even-know-it-d33b6e4b2ebe/)
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
# Ansible
22

3-
- It is a tool designed with automation in mind from the start. Ansible focuses on providing “radically simple” configuration language as well as being able to manage cloud instances immediately with no modifications. It is also great for performing arbitrary IT orchestration (e.g., zero downtime rolling updates, hotfixes, etc.) as opposed to being configuration management specific. Rather than managing systems as individual units, you simply describe how components—and the system in general—interact with each other and Ansible will handle the rest.
3+
- It is a tool designed with automation in mind from the start. Ansible focuses on providing “radically simple” configuration language as well as being able to manage cloud instances immediately with no modifications. It is also great for performing arbitrary IT orchestration (e.g., zero downtime rolling updates, hotfixes, etc.) as opposed to being configuration management specific. Rather than managing systems as individual units, you simply describe how components—and the system in general—interact with each other and Ansible will handle the rest.
4+
5+
- It allows you to organize your servers into groups, describe how those groups should be configured, and what actions should be taken on them, all from a central location.

0 commit comments

Comments
 (0)