Using Chef Solo on Linux for Azure

Lab Steps

Logging into the Microsoft Azure Portal
Connecting to the Lab Provisioned Virtual Machine
Setting Up Chef Solo on Linux
Running Your First Recipes with Chef Solo
Staying Organized with Cookbook Files
Notifying Chef Resources of Changes
Using Attributes and Templates in Your Cookbooks
Defining Chef Node Functions with Roles

Ready for the real environment experience?

Time Limit1h 30m


Lab Overview

The popular configuration management tool Chef is typically used in a client-server architecture where clients check a centralized server for configuration updates. Chef Solo brings most of the benefits of Chef to a single server. All of the concepts of Chef apply to Chef Solo: cookbooks, recipes, attributes, templates, roles, etc. In this Lab, you will gain experience with each of those concepts as you configure a Linux virtual machine in Azure using Chef Solo.

Lab Objectives

Upon completion of this lab you will be able to:

  • Configure a Chef node in Azure using Chef Solo
  • Write Chef cookbooks and recipes
  • Use Chef attributes and templates to generalize your cookbooks
  • Create Chef roles to define Chef node functions 

Lab Prerequisites

You should be familiar with the following:

  • Chef concepts
  • Working on the command line in Linux
  • Ruby programming basics are beneficial, but not required

Lab Environment

Before completing the lab instructions the environment will look as follows:

After completing the lab instructions the environment should look similar to:


May 5th, 2020 - Added a validation check function to check the work done in the lab

April 2nd, 2020 - Updated screenshots to match the latest experience

About the Author
Learning paths15

Logan has been involved in software development and research since 2007 and has been in the cloud since 2012. He is an AWS Certified DevOps Engineer - Professional, AWS Certified Solutions Architect - Professional, Microsoft Certified Azure Solutions Architect Expert, MCSE: Cloud Platform and Infrastructure, Google Cloud Certified Associate Cloud Engineer, Certified Kubernetes Administrator (CKA), Certified Kubernetes Application Developer (CKAD), Linux Foundation Certified System Administrator (LFCS), and Certified OpenStack Administrator (COA). He earned his Ph.D. studying design automation and enjoys all things tech.