Skip to main content

Basics about Ansible - an automation tool

What is Ansible...?
Ansible is a radically simple IT automation engine that automates cloud provisioning, configuration management, application deployment, intra-service orchestration, and many other IT needs.
Designed for multi-tier deployments since day one, Ansible models your IT infrastructure by describing how all of your systems inter-relate, rather than just managing one system at a time.

How ansible works?  

SSH KEYS ARE YOUR FRIENDS
Passwords are supported, but SSH keys with ssh-agent are one of the best ways to use Ansible. Though if you want to use Kerberos, that's good too. Lots of options! Root logins are not required, you can login as any user, and then su or sudo to any user. when Ansible accesses a remote system it checks for the directory /etc/ansible/facts.d

Ansible's "authorized_key" module is a great way to use ansible to control what machines can access what hosts. Other options, like kerberos or identity management systems, can also be used.

Configure ansible -

  • Edit (or create) /etc/ansible/hosts and put one or more remote systems in it. 
  • Your public SSH key should be located in authorized_keys on those systems.
Important Key Terms related to Ansible -


1. Host Variables-
it is easy to assign variables to hosts that will be used
later in playbooks.

2. Group Variables-
Variables can also be applied to an entire group at once.

4. Default groups -
There are two default groups: all and ungrouped. all contains every host.
ungrouped contains all hosts that don’t have another group aside from all.

Ansible in begining -

Patterns in Ansible are how we decide which hosts to manage. This can mean
what hosts to communicate with, but in terms of Playbooks it actually means what
hosts to apply a particular configuration or IT process to.
We’ll go over how to use the command line in Introduction To Ad-Hoc Commands section,
however, basically it looks like this:
ansible <pattern_goes_here> -m <module_name> -a <arguments>
Such as:
ansible webservers -m service -a "name=httpd state=restarted"

What’s an Playbooks ?

Ad-hoc - An ad-hoc command is something that you might type in to do something really quick, but don’t want to save for later.
Exa - Now to run the command on all servers in a group, in this case, atlanta, in 10 parallel forks:
$ ansible atlanta -a "/sbin/reboot" -f 10
playbook contains one or more plays, which map hosts to a certain function. Ansible does this through something called tasks, which are basically module calls.
Role – it works similar to include.
Exa :      - include: intro_example.yml





Comments

Popular posts from this blog

Basic but lesser known Linux Commands

For Debian/Ubuntu- 1.  sudo!!   : Forgot to run a command with sudo? You need not re-write the whole command, just type “sudo!!” and the last command will run with sudo. 2.  Python -m SimpleHTTPServer  : Creates a simple web page for the current working directory over port 8000. 3.  mtr : A  command which is a combination of ‘ping’ and ‘traceroute’ command. 4.  Ctrl+x+e  : This key combination fires up, an editor in the terminal, instantaneously. 5.  nl  : Outputs the content of text file with lines Numbered. 6.  shuf  : Randomly selects line/file/folder from a file/folder. 7.  ss  : Outputs Socket Statistics. 8.  Last : Want to know history of last logged in users? This command comes to rescue here. 9.  curl ifconfig.me  : Shows machine’s external IP Address. 10.  tree  : Prints files and folders in tree like fashion, recursively. 11.  Pstree  : Prints running proces...

Target Groups for Your Application Load Balancers - AWS - ELB

You register targets, such as EC2 instances, with a  target group . To route requests to the targets in a target group, specify the target group in a rule for one of the listeners for your load balancer. You define health check settings for your load balancer on a per target group basis. Each target group uses the default health check settings, unless you override them when you create the target group or modify them later on. After you specify a target group in a rule for a listener, the load balancer continually monitors the health of all targets registered with the target group that are in an Availability Zone enabled for the load balancer. The load balancer routes requests to the registered targets that are healthy. By default, a load balancer routes requests to its targets using the protocol and port number that you specified when you created the target group. Alternatively, you can override the port used for routing traffic to a target when you register it with t...