Чтобы узел 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 на узле.