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

Integrate AWS CloudFront with S3 bucket

Amazon CloudFront and Other Amazon Web Services:  Amazon CloudFront : CloudFront can be used to deliver your entire website or application, including dynamic, static, streaming, and interactive content, using a global network of edge locations. Amazon CloudFront works well with other Amazon Web Services. You can easily use an Amazon S3 bucket, an Amazon EC2 instance, an Amazon Elastic Load Balancing load balancer, or your own web server as the origin. In this tutorial, we will use Amazon S3 as the origin. Step 1: Prepare Your Content To deliver content to end users with a web distribution, you need to prepare content.  Amazon CloudFront distributes many types of content, including images, videos, HTML pages, .css files, and .php files.  In this step, we will upload sample content to the cloud using Amazon S3. a. The sample image we will use in this tutorial is a PNG image called cloudfront-test-image.png .  Click the b...

Basic Introduction about AWS Services

EC2 Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides secure, resizable compute capacity in the cloud. It is designed to make web-scale cloud computing easier for developers. Amazon EC2’s simple web service interface allows you to obtain and configure capacity with minimal friction. It provides you with complete control of your computing resources and lets you run on Amazon’s proven computing environment. RDS Amazon Relational Database Service (Amazon RDS) makes it easy to set up, operate, and scale a relational database in the cloud. It provides cost-efficient and resizable capacity while managing time-consuming database administration tasks, freeing you up to focus on your applications and business.  Amazon RDS provides you six familiar database engines to choose from, including Amazon Aurora, PostgreSQL, MySQL, MariaDB, Oracle, and Microsoft SQL Server. S3 Amazon Simple Storage Service (Amazon S3) is object storage with a simple web servi...

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...