Chef Installation and setup

So today we will learn how to set up our battleground or chef environment. After finishing this tutorial you will end up

  • Configuring fully functional Chef server
  • Configuring  Your workstation
  • Adding test nodes to your Chef environment.
  • Basic experience   with chef and knife tools

So lets hit the track and spin up the environment.

Below is the briefing about the environment that I am going to configure here.

Server Type Server-configuration Hostname
Chef-Server Centos-7,1.5GB RAM master.devops.com
Workstation Ubuntu 16.4 .1.5 GB RAM workstation.devops.com
Node CentOS-7,1GB RAM node1.devops.com

Chef-Server

The Chef server is the central location which acts as an artifact repository or “hub” that stores cookbooks, cookbook versions, facts about the node, data bags and metadata information about nodes.

All metadata of a node, when it is registered with Chef server, is stored on the Chef server.The metadata is populated and sent to the server with chef-client, which is an application that runs on the node. (Covered in later lessons.)

Configuration enforcement is not handled by the Chef server, instead, the desired state configuration is enforced when chef-client runs and a “convergence” happens, allowing for easy scalability.

Chef Server Components

Clients: Nodes and workstations which access the Chef server for either configuration enforcement or uploading and the management of cookbooks and other Chef data.

Load balancer: All requests to the Chef server are routed through the Nginx front-end load balancer.

Chef manage : Chef manage is the GUI-/Rails-based web application for managing Chef server.

Chef Server: The server engine which powers Chef server.

Bookshelf:  Used to store cookbook content such as files, recipes, templates, etc.

Message Queues: Are used (using RabbitMQ) to send data to the search index and data stores.(Search indexes covered in later tutorials.)

PostgreSQL: The data storage repository for Chef server.

Chef-Server Installation

Step1: Download chef server RPM

wget https://packages.chef.io/files/stable/chef-server/12.16.14/el/7/chef-server-core-12.16.14-1.el7.x86_64.rpm .

chefserverinstallation1png

Step 2: Install the rpm

rpm -Uvh chef-server-core-12.16.14-1.el7.x86_64.rpm

chefserverinstallation2

Step3: Run Chef reconfigure using command

chef-server-ctl reconfigure

chefserverinstallation3

This will reconfigure our chef server

chefserverinstallation4

Step 4: Create a user to connect with the chef server

chef-server-ctl user-create <username>  <firstname> <lastname>  <emailid>  ‘<password>’ –filename <file_to_store_rsa>

chefserverinstallation5

Step 5: Create an organization and associate user with same

chef-server-ctl org-create devops ‘devops Batch’ –association_user akash –filename devops-validator.pem

Step 6: Bring up chef GUI

chef-server-ctl  install chef-manage

chefserverinstallation6

Step 7: Run chef-server-ctl reconfigure again

Step 8: Reconfigure chef manage [press  enter when asked to accept license, then press q and write yes and hit enter]

chef-manage-ctl reconfigure

chefserverinstallation7

Step9: Once chef manage is installed, access the chef console on your browser. If not accessible make sure firewall is turned off.

chefserverinstall8

Step 10: Login with the same username and password that we created in step 4, if some error occurs during login, refresh the page.

WorkStation Installation

will be published tomorrow…

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s