first commit
This commit is contained in:
		
							
								
								
									
										21
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,21 @@
 | 
				
			|||||||
 | 
					# Taking small steps to learn Ansible; I will write as a notes to myself.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## What is Ansible ?
 | 
				
			||||||
 | 
					Ansible is automation tool for making infrastructure as code.
 | 
				
			||||||
 | 
					Helps with managing multiple servers/machines from one code base, making sure all the servers where the ansible is executed have the same configuration. 
 | 
				
			||||||
 | 
					Ansible is agentless, does not need installing ansible on target machine, only python interpreter.
 | 
				
			||||||
 | 
					### Nodes 
 | 
				
			||||||
 | 
					- Control Node (From which is ansible executed to managed nodes) 
 | 
				
			||||||
 | 
					- Managed Node (Server/Machine which we are managing such as remote hosts, PC-s, servers, embedded devices) 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Ansible Repo (dir)
 | 
				
			||||||
 | 
					Consists of several parts: 
 | 
				
			||||||
 | 
					- Inventory (Holds hosts to manage)  
 | 
				
			||||||
 | 
					- Playbooks (What should be executed on the target host) 
 | 
				
			||||||
 | 
					- Modules 
 | 
				
			||||||
 | 
					- Ansible Configuration
 | 
				
			||||||
 | 
					### Playbooks
 | 
				
			||||||
 | 
					- Set of plays which are executed on target machine.
 | 
				
			||||||
 | 
					- Each play has a set of tasks 
 | 
				
			||||||
 | 
					- Multiple repetetive tasks can be group inside **ROLES** 
 | 
				
			||||||
 | 
					- **ROLES** (Tasks, Handlers, Vars, Plugins, Templates, Files)
 | 
				
			||||||
							
								
								
									
										6
									
								
								ansible.cfg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ansible.cfg
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					# Ansible config file 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[defaults] 
 | 
				
			||||||
 | 
					any_fatal_errors=True
 | 
				
			||||||
 | 
					inventory = ./inventory
 | 
				
			||||||
							
								
								
									
										5
									
								
								inventory/group_vars/all/vars.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								inventory/group_vars/all/vars.yml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,5 @@
 | 
				
			|||||||
 | 
					# This will load variables for ansible group all 
 | 
				
			||||||
 | 
					# which is by ansible default all the hosts in inventory file
 | 
				
			||||||
 | 
					# This something like global variables which are accessible by all host
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					ansible_user: root
 | 
				
			||||||
							
								
								
									
										0
									
								
								inventory/host_vars/mail.server.com
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								inventory/host_vars/mail.server.com
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										2
									
								
								inventory/host_vars/web.server.com.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								inventory/host_vars/web.server.com.yml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					ansible_host: 136.244.87.93
 | 
				
			||||||
							
								
								
									
										2
									
								
								inventory/inventory.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								inventory/inventory.yml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					web.server.com
 | 
				
			||||||
 | 
					mail.server.com
 | 
				
			||||||
							
								
								
									
										8
									
								
								playbook.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								playbook.yml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,8 @@
 | 
				
			|||||||
 | 
					- name: Name of play -> my first play 
 | 
				
			||||||
 | 
					  hosts: freebsd_machines 
 | 
				
			||||||
 | 
					  tasks: 
 | 
				
			||||||
 | 
					    - name: Ping my host
 | 
				
			||||||
 | 
					      ansible.builtin.ping: 
 | 
				
			||||||
 | 
					    - name: Print message 
 | 
				
			||||||
 | 
					      ansible.builtin.debug: 
 | 
				
			||||||
 | 
					        msg: Hello world from freebsd
 | 
				
			||||||
		Reference in New Issue
	
	Block a user