This blog post summarizes some of the recent additions for using Chef on Azure, as part of the ongoing partnership between Microsoft and Chef. Chef
, one of the leading open source configuration management systems has been supported on Azure for a while and is being used broadly.These new changes combined with the already existing capabilities to automatically configure Chef
on Azure Virtual Machines, provide an end to end experience for managing Chef on Azure.
Ready to use Chef Server in Azure Marketplace
Azure Marketplace now supports a certified Chef Server 12
image that’s ready to use out of the box. To install Chef Server on Azure, find the ‘Chef Server 12’ image in Marketplace and configure it with default settings. This server is preconfigured with Chef server, the Chef management console, and Chef reporting. This configuration is free to use for deployments under 25 nodes, and can be licensed for deployments beyond 25 nodes.
Once the instance is ready, SSH to the VM. After this follow the instructions in the banner to create a new user on the Chef Server UI. Once the user account is created login into the Chef Server UI by browsing to “https://<cloudservice>.cloudapp.net
” using the credentials that you just created, create the new organization and now you are ready manage nodes! Check out the Chef website
for detailed documentation.
Full DSC support with Chef
If you are familiar with PowerShell Desired State Configuration
and want to leverage the full power of DSC from Chef, you can now do that by Chef client version 12. 2 . The
resource for Windows systems allows cookbook authors to invoke DSC resources in Chef DSL. To start using the DSC resource, follow the instructions here
to install Chef client . For prerequisites and additional documentation, please visit the github link here
Azure Virtual Machine Support for Chef Provisioning
Chef provisioning is a powerful new Chef feature set lets you create and converge your infrastructure including machines, images, load balancers and other infrastructure in an idempotent way. Chef Provisioning has early integration support for Azure , install the ruby gem here
to try out. This is a very exciting opportunity to integrate the Azure resource management capabilities with Chef Provisioning and we look forward to delivering more here!
More Tools for Automating Chef Deployments
To provision Azure Virtual Machines with Chef Agent (using the VM extension technology) you have multiple options to chose, depending on what you use. Here are your options:
- If you are Knife user, you can bootstrap Chef VM Extensions for windows and Linux in addition to provisioning Virtual machines using Knife. Lookup the ‘cloud-api’ bootstrap option in the Knife plugin documentation.
- If you are an Azure CLI user and would like to bootstrap Chef agent from any client OS, then follow the guidelines to install the latest Azure cross platform installer and look up the command ‘azure vm extension set-chef’.
- If you’d like to use Azure Power shell cmdlets, then install the latest cmdlets by following the guidelines and look up the cmdlet ‘Set-AzureVMChefExtension’.
As you can see, there is now more than one way to get started with Chef on Azure for your deployment automation. We'll be at ChefConf2015
talking and showing these, so tune in! We hope you find them useful and do send your feedback!