Duration: 4 days – 28 hrs
Overview
The course is designed by DevOps Subject Matter Experts to help you understand Chef concepts and perform hands on Chef/Ansible deployment and operations.
Objectives
- Understand the core concepts of Ansible Components
- Install & Configure Ansible Server on Centos7
- Register Windows 2016 server – Ansible node
- Register Ubuntu 16.04 server –Ansible node
- Register Redhat Linux server – Ansible node
- Write Playbook for all 3 ansible nodes to deploy web infrastructure
- Playbook: user, group, file management
- Ansible host groups
- Understand the core concepts of chef Components
- Install & Configure chef Server
- Register Windows 2016 server – Ansible node
- Register Ubuntu 18.04 server –Ansible node
- Register Redhat Linux server – Ansible node
- Write Playbook for all 3 ansible nodes to deploy web infrastructure
- Playbook: user, group, file management
- Chef environments
Audience
- Developers
- System administrators
Pre- requisites
- Linux/Unix administration skills are required.
- Basic knowledge Windows systems, command line usage and system administration.
Course Content
Module 1: Ansible Big Picture (Theory)
- What and why of Ansible
- Ansible use cases and terminologies
- Controller server
- Nodes
- Playbook
- Ansible tower
Module 2: Ansible management server deployment (Hands on Lab by students)
- Ansible– Deploy a centos7 server
- Ssh to centos7 server
- Install and configure Ansible
- Create password less authentication keys
- Define nodes to be managed by ansible control server
Module 2: Ansible Node server deployment ( Hands on Lab by students)
- Deploy a RHEL server + 1 ubuntu 16.04 server
- Ssh to centos7 server
- Create password less authentication keys
Module 3: Ansible HTTPD Playbook for RHEL node( Hands on Lab by students)
- Create a httpd playbook directory
- Write .yml file
- write httpd package install code for RHEL server
- write httpd service restart code
- write template resource type to push index.html and log.png to node
- write user and group creation code
- Apply the playbook on centos node and validate if website is up
Module 4: Ansible Apache2 Playbook for ubuntu node( Hands on Lab by students)
- Create a apache2 playbook directory
- Write .yml file
- write apache2 package install code for ubuntu server
- write apache2 service restart code
- write template resource type to push index.html and log.png to node
- write user and group creation code
- Apply the playbook on ubuntu node and validate if website is up
Module 5: Ansible Windows 2016 server node deployment (Hands on Lab by students)
- Deploy a windows 2016 server
- Configure it as windows node under ansible management
Module 6: Playbook for windows 2016 node (Hands on Lab by students)
- Create a iis playbook directory
- Write resource code to automate iis role on windows server
- Apply the playbook on Windows node and validate if website is up
Ansible Playbooks – (hands on labs)
- Conditionals Module
- Until Module
- Notify Module
- Vault Module
- Prompt – Interactive Playbook
- When Module
- The ‘MySQL_DB’ Module
- The ‘MySQL_User’ Module
- The ‘Pause’ Module
- The ‘WaitFor’ Module
- The ‘Command’ Module
- The ‘Cron’ Module
- The ‘Debug’ Module
- The ‘Fetch’ Module
- Agenda – Day 3 & 4 Chef automation
Module 1: Chef – Overview
- Infrastructure-As-A-Code
- Chef Components – 10000 feet overview
- Chef Server
- Hosted Chef Server
- Chef Development kit
- Chef Nodes
- Recipes
- Cookbooks
- Chef Analytics
- Chef Push job server
Module 2: Creating your own Chef server- Install and configure (Hands on lab by students)
- Deploy Ubuntu 14.04 Server
- SSH to Ubuntu Server
- Install chef-server on Ubuntu 14.04 linux server
- Install chef-manage on chef-server
- Install and configure Chef-Reporting
Module 3: Working hosted chef server (Hands on lab by students)
- Create a user account on hosted chef server
- Create organization on hosted chef server
- Download chef-starter kit
Module 4: Install and configure Chef-Workstation on ubuntu (Hands on lab by students)
- Deploy a Ubuntu 14.04 server
- Ssh to Ubuntu server
- Install and configure Chef development kit
- Configure knife to interact with your own Chef-server
- Configure knife to interact with your Hosted Chef-server
- Configure SSL based connection to chef server
Module 5: Install and configure Chef-Workstation on Windows 7 (Hands on lab by students)
- Install and configure Chef development kit
- Setup environment variables
- Configure knife to interact with your own Chef-server
- Configure knife to interact with your Hosted Chef-server
- Configure SSL based connection to chef server
- Module 6: Register a chef-Node Ubuntu server (Hands on lab by students)
- Deploy a Ubuntu 14.04 server
- Register the Ubuntu server under chef server management
Module 7: Create a cookbook for Ubuntu server (Hands on lab by students)
- Create a new cookbook for apache2 installation on Ubuntu server
- Write recipe for package install, service restart
- Create templates to be used in recipe
- Create index.html and log file to be used by recipe
- Module 8: Creating dependency cookbook for Ubuntu server (Hands on lab by students)
- Create a new cookbook for OS update installation on Ubuntu server
- Write recipe for update of Operating system
- Edit metadata.rb file to include dependency for apache2 cookbook
Module 9: Creating web role and using for Ubuntu server (Hands on lab by students)
- Understand and create web role
- Assign web role for chef node
- Validate chef-role is getting assigned to Ubuntu server
Module 10: Create a cookbook for RHEL-7 server (Hands on lab by students)
- Create a new cookbook for httpd installation on RHEL-7 server
- Write recipe for package install, service restart
- Create templates to be used in recipe
- Create index.html and log file to be used by recipe
Module 11: Create a cookbook for Windows 2016 server (Hands on lab by students)
- Create a new cookbook for iis installation on wind 2016 server
- Apply recipe to windows node
- Validate iis role is installed on windows server
Module 12: Chef Environments (Hands on lab by students)
- Create a test environment
- Create a Production environment
- Assign nodes different environment and apply playbooks