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