Установка Chef и Ruby с помощью RVM на Ubuntu VPS
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: Chef, Ruby, RVM