Учебники

Chef — Настройка клиента

Чтобы узел Chef связывался с сервером Chef, вам необходимо настроить клиент Chef на этом узле.

Шеф-повар клиента

Это один из ключевых компонентов узла Chef, который получает поваренные книги с сервера Chef и выполняет их на узле. Он также известен как поставщик шеф-повара.

Здесь мы будем использовать Vagrant для управления виртуальной машиной. Vagrant также можно настроить с помощью поставщика, такого как сценарий Shell, Chef и Puppet, чтобы привести виртуальную машину в нужное состояние. В нашем случае мы будем использовать Vagrant для управления виртуальными машинами, используя VirtualBox и клиент Chef в качестве поставщика.

Шаг 1 — Загрузите и установите VirtualBox с https://www.virtualbox.org/wiki/downlod

Шаг 2 — Загрузите и установите Vagrant по адресу http://downloads.vagrantup.com

Шаг 3 — Установите плагин Vagrant Omnibus, чтобы позволить Vagrant установить клиент Chef на ВМ.

$ vagrant plugin install vagrant-omnibus 

Создание и загрузка виртуальных

Шаг 1 — Мы можем загрузить необходимую коробку Vagrant из репозитория Opscode vagrant. Загрузите окно opscode-ubuntu-12.04 по следующему URL- адресу https://opscode-vmbento.s3.amazonaws.com/vagrant/opscode_ubuntu-12.04_provisionerless.box

Шаг 2 — Получив файл Vagrant, загрузите путь, необходимый для редактирования файла Vagrant.

vipin@laptop:~/chef-repo $ subl Vagrantfile 
Vagrant.configure("2") do |config| 
   config.vm.box = "opscode-ubuntu-12.04" 
   config.vm.box_url = https://opscode-vm-bento.s3.amazonaws.com/ 
   vagrant/opscode_ubuntu-12.04_provisionerless.box 
   config.omnibus.chef_version = :latest  
   config.vm.provision :chef_client do |chef| 
      chef.provisioning_path = "/etc/chef" 
      chef.chef_server_url = "https://api.opscode.com/ 
      organizations/<YOUR_ORG>" 
      chef.validation_key_path = "/.chef/<YOUR_ORG>-validator.pem"
      chef.validation_client_name = "<YOUR_ORG>-validator" 
      chef.node_name = "server" 
   end 
end 

В приведенной выше программе вам необходимо обновить имя <YOUR_ORG>, указав правильное или нужное название организации.

Шаг 3 — Следующий шаг после конфигурирования, чтобы получить окно бродяги. Для этого вам нужно переместиться в то место, где находится Vagrant box, и выполнить следующую команду.

$ vagrant up

Шаг 4 — После того, как машина включена, вы можете войти в нее, используя следующую команду.

$ vagrant ssh

В приведенной выше команде vagrantfile записывается на языке Ruby Domain Specific Language (DSL) для настройки виртуальной машины vagrant.

В файле vagrant у нас есть объект конфигурации. Vagrant будет использовать этот объект конфигурации для настройки виртуальной машины.

Vagrant.configure("2") do |config| 
……. 
End

Внутри блока конфигурации вы скажете vagrant, какой образ виртуальной машины использовать для загрузки узла.

config.vm.box = "opscode-ubuntu-12.04" 
config.vm.box_url = https://opscode-vm-bento.s3.amazonaws.com/ 
   vagrant/opscode_ubuntu-12.04_provisionerless.box

На следующем шаге вы скажете Vagrant загрузить плагин omnibus.

config.omnibus.chef_version = :latest

После выбора блока виртуальной машины для загрузки настройте, как подготовить блок с помощью Chef.

config.vm.provision :chef_client do |chef| 
….. 
End 

Внутри этого вам нужно настроить инструкцию о том, как подключить виртуальный узел к серверу Chef. Вы должны указать Vagrant, где вы должны хранить все вещи Chef на узле.