Установка Chef и Ruby с помощью RVM на Ubuntu VPS

Chef – это открытый инструмент и фреймворк на основе Ruby, предназначенный для автоматизации управления сервером и быстрого развертывания и оркестровки новых VPS. При этом вам не нужно запоминать настройку предыдущих серверов.

Сейчас в инфраструктурах используются отдельные серверы для тестирования, разработки, базы данных и производства. Каждая группа серверов обладает уникальными ресурсами и конфигурациями.

Установка, настройка, обновление и обслуживание одного VPS – это многозадачный и повторяющийся процесс. Chef позволяет вам легко выполнять автоматизированные, последовательные, масштабируемые развертывания.

Chef экономит время и деньги, предоставляя структурированную систему, которую можно повторно использовать.

У разработчиков Chef есть простой сценарий быстрой установки для Ubuntu, однако этот метод установки не подходит, если вы хотите использовать Ruby on Rails. В этом руководстве вы узнаете, как настроить среду Ruby и Chef.

Возможно, вы решите установить Ruby с помощью этой команды:

sudo apt-get install ruby

Однако этого делать не рекомендуется – даже если вы не используете несколько версий Ruby на VPS, у вас будут конфликты gem-ов или ошибки в проектах, требующих конкретной версии gem-ов. Менеджер Ruby Version Manager (RVM) быстро решает все эти проблемы.

Примечание: Использование rbenv вместо RVM также может быть неплохим вариантом. В этом руководстве используется RVM, потому что он предлагает высокую производительность, которая может пригодиться в сложных ситуациях.

1: Установка Ruby с помощью RVM

RVM имеет три зависимости: bash, curl и Git.

Оболочка bash установлена по умолчанию. Остальное можно установить с помощью этой команды:

sudo apt-get install git-core curl

Теперь можно установить сам менеджер версий:

sudo \curl -L https://get.rvm.io | bash -s stable --ruby=1.9.3

Это займет 5-10 минут, поскольку RVM загружает зависимости и исходный код Ruby и собирает его.

Примечание: Chef разработан на основе Ruby 1.9, поэтому в мануале устанавливается Ruby 1.9.3.

После установки вы должны увидеть это сообщение:

* To start using RVM you need to run `source /usr/local/rvm/scripts/rvm`
in all your open shell windows, in rare cases you need to reopen all shell windows.

Запустите команду:

source /usr/local/rvm/scripts/rvm

Чтобы убедиться, что установка Ruby прошла успешно, введите команду:

ruby -v

32-битные версии Linux вернут что-то типа:

ruby 1.9.3p448 (2013-06-27 revision 41675) [i686-linux]

64-битные версии вернут такой результат:

ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-linux]

Убедитесь, что gem установлен, запросив его версию:

gem -v
1.8.25

Если вы не являетесь разработчиком Ruby или Rails, вам может потребоваться установить версию 1.9.3 Ruby как версию по умолчанию для всех новых оболочек с помощью команды:

rvm use 1.9.3 --default

Примечание: Это переопределит любую ранее установленную версию Ruby по умолчанию.

2: Установка Chef

Теперь установить Chef очень легко. Для этого введите команду:

gem install chef --no-ri --no-rdoc

Убедитесь, что Chef установлен:

chef-solo -v

Команда должна вернуть версию:

Chef: 11.4.4

Кроме того, нужно установить три полезных расширения: Knife-Solo, Berkshelf и Foodcritic.

Knife-Solo — это плагин для инструмента knife, который позволяет создавать сценарии chef-solo. Он упрощает небольшие развертывания, потому что избавляет вас от необходимости запускать chef-клиент, который, в свою очередь, требует запустить сервер chef.

Установите его с помощью команды:

gem install knife-solo --no-ri --no-rdoc

Berkshelf помогает создавать, собирать и извлекать кукбуки из локальных файлов, git и сервера chef.

Сначала необходимо установить некоторые зависимости Berkshelf:

gem install berkshelf --no-ri --no-rdoc

Теперь нужно убедиться, что Berkshelf установлен правильно:

berks -v

Команда вернет номер версии, например:

Berkshelf (2.0.7)

Foodcritic помогает обнаружить проблемы в кукбуках Chef. Установите этот инструмент:

gem install foodcritic --no-ri --no-rdoc

Чтобы проверить установку Foodcritic, запросите версию инструмента:

foodcritic -V
foodcritic 2.2.0

Примечание: Опции —no-ri —no-rdoc отключают создание документации.

Читайте также:

Tags: , ,