Adding another layer – the MySQL role
So far, we have been focusing on the single tier of our infrastructure, that is, the web server layer. Writing code for just one tier is not a lot of fun. Being a cool DevOps team, we will create a multi-tier infrastructure with database, web server, and then, a load balancer. We will start creating the MySQL role next, apply everything that we have learnt so far, and extend that knowledge with a few new concepts.
Here is our specification for the MySQL role:
- It should install the MySQL server package
- It should configure '
my.cnf
', which is the main configuration for the MySQL server - It should start the MySQL server daemon
- It should support Ubuntu 12.04 as well as CentOS/RedHat Enterprise 6.x
Creating the scaffolding for the roles with Ansible-Galaxy
So far, we have been doing all the hard work to understand and create the directory structure required by the roles. However, to make our lives easier, Ansible ships with a tool called Ansible...