Devops
Chef Advanced
Program Overview: This 4-day course deploying Chef infrastructure and configure chef client and chef workstation on windows and linux servers
Program Duration:4Days.
Prerequisite Skills: Linux basics ( working with file and directories)
Who should attend? Targeted for Cloud engineers, Developers ,operations engineer ,Centre of excellence team, window server administrators, Unix/Linux administrator, Storage admins, network administrators , Virtualization administrators
Contents:
Agenda
Module 1: Chef – Overview
- Devops Big-Picture
 - Devops Tools – SCM,CI/CD, Configuration management tool introduction
 - Where chef fits in entire devops culture/tools
 - 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 16.04 Server
 - SSH to Ubuntu Server
 - Install chef-server on Ubuntu 16.04 linux server
 - Install chef-manage on chef-server
 - Install and configure Chef-Reporting
 
Assignment 01 :Creating your own Chef server- Install and configure on RHEL 7 ( Hands on lab by students)
- Deploy Ubuntu RHEL-7 Server
 - SSH to RHEL-7 Server
 - Install chef-server on RHEl-7 linux server
 - Install chef-manage on chef-server on RHEL
 - Install and configure Chef-Reporting RHEL
 
Module 3: Working on 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
 
Assignemnet-02 : Install and configure Chef-Workstation on RHEL( Hands on lab by students)
- Deploy a RHEL 7 server
 - Ssh to RHEL 7 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 running Ubuntu server ( Hands on lab by students)
- Deploy a Ubuntu 14.04 server
 - Register the Ubuntu server under chef server management
 
Assignment -03 :Register a Node running RHEL server ( Hands on lab by students)
- Deploy a RHEL 7 server
 - Register the RHEL 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 package resource type in recipe to install apache2
 - Write service resource type in recipe to enable and restart apache2
 - Write file resource type in recipe to create new files on node with content
 - Create templates to be used in recipe – to push templates to node
 - Create index.html and log file to be used by recipe
 - Write cookbook_file resource type
 
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 : Apply Apache2 cookbook chef-node( Ubuntu server) ( Hands on lab by students)
- Attach apache2 runlist to chef Ubuntu node
 - Run chef-client on the node
 - Test if you the recipe is applied and working as desired
 
Assignment 04: Create a cookbook for RHEL 7 server ( Hands on lab by students)
- Create a new cookbook for HTTPD installation on RHEL 7
 - Write package resource type in recipe to install HTTPD
 - Write service resource type in recipe to enable and restart HTTPD
 - Write file resource type in recipe to create new files on node with content
 - Create templates to be used in recipe – to push templates to node
 - Create index.html and log file to be used by recipe
 - Write cookbook_file resource type
 
Assignement-05: Creating dependency cookbook for RHEL-server ( Hands on lab by students)
- Create a new cookbook for OS update installation on RHEL server
 - Write recipe for update of Operating system
 - Edit metadata.rb file to include dependency for HTTPD cookbook
 
Assignment-06 : Apply HTTPD cookbo0k chef-node( RHEL server) ( Hands on lab by students)
- Attach HTTPD runlist to chef RHEL Node
 - Run chef-client on the node
 - Test if you the recipe is applied and working as desired
 
Chef Environments
- What Are Environments And Why Do They Matter?
 - Creating And Configuring Environments ( Production and test environments)
 - Creating A Second Version Of Our WebServer Cookbook
 - Deploying To Different Environments
 - Viewing And Deleting Environments With Knife
 
Roles
- What Are Roles?
 - Creating A Web Server Role
 - Building A Simple MySQL Cookbook For A Role
 - Creating A DB Server Role
 - Creating A Base Role
 
Addons
- Applying recipe locally on Ubuntu server
 - Chef Solo vs Chef Zero vs Chef Server
 
Module 10 : Register a chef-Node Windows 2012 server ( Hands on lab by students)
- Deploy a Windows server 2012
 - Register the Windows server under chef server management
 
Moduel 10.A Chef Supermarket
- Chef Supermarket
 - Using A Private Supermarket
 
Module 11 : Create a cookbook for Windows 2012 server ( Hands on lab by students)
- Download a community cookbook for IIS (web-server) Installation on windows server 2012
 - Run cookbook on windows server
 - Validate web server is installed on windows 2012 server
 
Module 12: Create a cookbook for user and group for linux ( Hands on lab by students)
- Create a new cookbook for user and group
 - Write user resource type in recipe
 - Write file resource type in recipe
 - Write group resource type in recipe
 - Upload to cookbook to chef server
 - Attach runlist to a ubutnu node
 - Run chef-client and verify user and groups are created
 
Module 14: Create a cookbook if conditional statements ( Hands on lab by students)
- Create a new cookbook for web server
 - Write three recipes
 - Recipe 1 : to install apache on Ubuntu
 - Recipe 2: to install httpd on RHEL
 - Recipe 3 : if conditional statements to ensure runs right recipe based node OSfamily
 - Upload to cookbook to chef server
 - Attach runlist to a ubutnu node
 - Run chef-client and verify execution is correct
 
Module 15 : Nodes and Search
- Node Object
 - Working With Ohai and Node Attributes
 - knife Search
 
Module 17 : Kitchen
- Deploy a Ubuntu server
 - Deploy chef development kit
 - Deploy Docker
 - Create chef cookbook of apaache2
 - Write recipe in cookbook for apache2 install start and push index.html
 - Kitchen create with docker provisioner
 - Kitchen converge
 - Kitchen destroy
 - Kitchen test
 
