If you have been following my OpenStack posts, you will know that I’ve switched to Chef now for my senior seminar project. OpenStack was interesting, and I may work on it again someday, but I’m focusing on Chef now. My project partner, James and I, decided on making our project about Chef, which is a configuration management tool for Linux systems. Chef is open source and it is actively developed by an Chef Software Inc. They do offer paid plans for support and extra features, but the critical components needed to setup a basic Chef infrastructure is free. Here is a link to their website: https://www.chef.io
Our plan for Chef is to setup a Chef server and have two nodes that will check into the server. All three machines will be running Ubuntu Server 16.04 and they are all virtual machines running on a VMware ESXi host.
To begin setting up Chef, we started with installing the Chef Development Kit (Chef DK). It’s pretty easy to setup. Basically you just install the Ruby programming language and Git on your workstation. Then you download the chef-repo from GitHub and run a few commands. Also, you have to download the starter kit from your Chef server. Here is the doc page we used to install Chef DK: Chef DK docs
Once we got Chef DK installed, we installed the Chef server. We did skip downloading the starter kit, until we got our Chef server running. We decided to go with a standalone installation, which means everything the Chef server needs is installed on a single machine. You can use multiple machines for fail-over and load balancing, but since we won’t have very many nodes, it’s not necessary for us. If we were setting Chef up for an enterprise environment with dozens of nodes, then we would multiple machines.
It’s pretty easy to install the Chef server. You just need to download either an rpm or deb package depending on your Linux distro, and then you unpackage and install it. After that you use a chef command to start up the server, and then you have to run through a couple of chef configuration commands. Here is a link to the doc we followed: Install Chef server
Once we had our Chef server installed, then we went back to the Chef DK docs and downloaded the starter kit for Chef. The starter kit is needed so your workstation has the correct configuration to communicate with your Chef server.
That’s as far as we got for this post. We will dive into setting up nodes and writing cookbooks next time.