Tuesday, December 13, 2016

Chef SDK Installation


Chef is an open-source systems management and cloud infrastructure automation framework.Chef is a Configuration Management tool written in Ruby and Erlang.It used a pure-Ruby, domain-specific language(DSL).

Chef is a powerful automation platform that transforms infrastructure-into-code. DevOps can use Chef to deploy and manage servers and applications in cloud, on-premises, or in a hybrid environments, no matter where you are using it.

Installing Chef On Virtual box using vagrant for portable virtual development environments


Prerequisite for this setup

1. Windows machine
2. At-least 6 to 8 GB ram memory 

Download and Install Virtual box on Windows

Download from this site and install it: https://www.virtualbox.org/wiki/Downloads

Command to verify Virtual box installation:
$VBoxManage --version
5.1.8r111374

Add the below path to the environmental varibles: 
C:\Program Files\Oracle\VirtualBox

Download and Install Vagrant on Windows:

Download Vagrant from this site and double click to install : https://www.vagrantup.com/downloads.html

To verify vagrant installed:
$vagrant --version
Vagrant 1.8.6

Add the below path to the environmental varibles:
C:\HashiCorp\Vagrant\bin

Download and Install Operating System

Here I am installing Ubuntu 15.04

Download an Ubuntu Software (Ubuntu 15.04) from this site : http://www.vagrantbox.es 

Copy the Ubuntu software to the known location in your machine.

Create a text file and named it as "Vagrantfile". Add below content to the file and edit it as per your requirement: 

# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure(2) do |config|
  config.ssh.username = "chefuser" 
  config.ssh.password = "Welcome1"
  config.vm.box = "ubuntu-15.04-amd64.box"
  config.vm.synced_folder "D:\vagrant\vagrant_chef", "/u01/software",owner: "oracle", group: "oracle",  create: "true"
  config.vm.network :private_network, ip: "192.168.33.105"
   
  config.vm.provider :virtualbox do |vb|
    vb.gui = true
    vb.customize ["modifyvm", :id, "--memory", "1024"]
    vb.customize ["modifyvm", :id, "--cpus", "2"]
  end
end


Add Ubuntu image by running below command:
D:\vagrant\vagrant_chef>vagrant box add --name chef1  ubuntu-15.04-amd64.box


Initialize the Ubuntu Image in command prompt:
> vagrant init ubuntu-15.04-amd64.box

Bring up the vagrant box to access the Ubuntu OS:
vagrant up

Download and Install Chef SDK:

Download Chef SDK for  Ubuntu from the link below :

Download Winscp and install it in the local machine : 

Using winscp copy the chef sdk package to the Ubuntu box which is already accessible using ipaddress and port number.

Local User setup

SSH to virtual machine using root credentials.

Create group name "chefgrp" using below command:
groupadd chefgrp

Create user "chefuser"
useradd -c ‘Chef User’ -d /home/chefuser -g chefgrp -u 1100 -m chefuser

Change password for user "chefuser" using below command:

passwd chefuser
New password:
Confirm new password:

Assign sudo privileges to user "chefuser"

sudo visudo
Add the following line under “# User privilege specification” section
chefuser ALL=(ALL:ALL) ALL
Save file and logout.

SSH to machine using user "chefuser".

Install Chef SDK Debian package

Go to the location where the installer placed and run below command
sudo dpkg -i chefdk_1.0.3-1_amd64.deb

Once it is sucessfully installed you will get the message "Thank you for installing Chef Development Kit!"


On ubuntu, by default chef dk is installed in the location : " /opt/chefdk" 
ls  -ltr /opt/chefdk

Verify Chef Installation, run below command:

chef verify

Uninstall ChefSDK: (if you need it)

Use the following command to remove the Chef development kit on Debian-based platforms:

dpkg -P chefdk

Work Station Setup

Consider your local machine is a workstation then download windows chefsdk package from the link below:






3 comments:

santhosh k said...

Nice Information about the Chef Installation My sincere thanks for sharing this post Please Continue to share this kind of post
Devops Training in Bangalore
Devops Training in BTM Layout
Devops Training in Marathahalli

gowsalya said...

It’s always so sweet and also full of a lot of fun for me personally and my office colleagues to search your blog a minimum of thrice in a week to see the new guidance you have got

borav said...

This blog was... how do I say it? Relevant!! Finally I've found something that helped me. Many thanks!
Technology

Categories

Kubernetes (24) Docker (20) git (13) Jenkins (12) AWS (7) Jenkins CI (5) Vagrant (5) K8s (4) VirtualBox (4) CentOS7 (3) docker registry (3) docker-ee (3) ucp (3) Jenkins Automation (2) Jenkins Master Slave (2) Jenkins Project (2) containers (2) docker EE (2) docker private registry (2) dockers (2) dtr (2) kubeadm (2) kubectl (2) kubelet (2) openssl (2) Alert Manager CLI (1) AlertManager (1) Apache Maven (1) Best DevOps interview questions (1) CentOS (1) Container as a Service (1) DevOps Interview Questions (1) Docker 19 CE on Ubuntu 19.04 (1) Docker Tutorial (1) Docker UCP (1) Docker installation on Ubunutu (1) Docker interview questions (1) Docker on PowerShell (1) Docker on Windows (1) Docker version (1) Docker-ee installation on CentOS (1) DockerHub (1) Features of DTR (1) Fedora (1) Freestyle Project (1) Git Install on CentOS (1) Git Install on Oracle Linux (1) Git Install on RHEL (1) Git Source based installation (1) Git line ending setup (1) Git migration (1) Grafana on Windows (1) Install DTR (1) Install Docker on Windows Server (1) Install Maven on CentOS (1) Issues (1) Jenkins CI server on AWS instance (1) Jenkins First Job (1) Jenkins Installation on CentOS7 (1) Jenkins Master (1) Jenkins automatic build (1) Jenkins installation on Ubuntu 18.04 (1) Jenkins integration with GitHub server (1) Jenkins on AWS Ubuntu (1) Kubernetes Cluster provisioning (1) Kubernetes interview questions (1) Kuberntes Installation (1) Maven (1) Maven installation on Unix (1) Operations interview Questions (1) Oracle Linux (1) Personal access tokens on GitHub (1) Problem in Docker (1) Prometheus (1) Prometheus CLI (1) RHEL (1) SCM (1) SCM Poll (1) SRE interview questions (1) Troubleshooting (1) Uninstall Git (1) Uninstall Git on CentOS7 (1) Universal Control Plane (1) Vagrantfile (1) amtool (1) aws IAM Role (1) aws policy (1) caas (1) chef installation (1) create deployment (1) create organization on UCP (1) create team on UCP (1) docker CE (1) docker UCP console (1) docker command line (1) docker commands (1) docker community edition (1) docker container (1) docker editions (1) docker enterprise edition (1) docker enterprise edition deep dive (1) docker for windows (1) docker hub (1) docker installation (1) docker node (1) docker releases (1) docker secure registry (1) docker service (1) docker swarm init (1) docker swarm join (1) docker trusted registry (1) elasticBeanStalk (1) global configurations (1) helm installation issue (1) mvn (1) namespaces (1) promtool (1) service creation (1) slack (1)