Подтвердить что ты не робот

Выбор бродячего ассистента

Вопрос

Может ли кто-нибудь объяснить, почему было бы лучше выбрать марионетку или шеф-повара для бродяг, а не средства обеспечения оболочки?

Фон

Я начинаю работу с Vagrant. Одна из проблем, с которыми я столкнулся, - это решить, какое средство обеспечения использовать. До сих пор у меня был некоторый успех с помощью средства обеспечения оболочки, но это была большая работа, чем я ожидал, чтобы он работал надежно.

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

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

4b9b3361

Ответ 1

Полное раскрытие информации: Я сотрудник Puppet Labs. Но я выбрал Puppet в качестве продукта за 2 года, прежде чем присоединиться к ним.

Я бы рекомендовал использовать Puppet или Chef поверх оболочки, если ваши конфигурации будут: a) иметь любую степень сложности и b) со временем меняться - или вы ожидаете, что ваша среда установки изменится так, измените способ развертывания вашего развертывания. Ваши сценарии могут быть очень хорошими, но в конечном счете, если вы не будете следовать потрясающим практикам программирования вокруг них, тестированию и QA'у их, и т.д. В какой-то момент они потерпят неудачу.

Там, где DevOps обсуждает это понятие, существует целый класс грамотных людей, но это сводится к принципу "технического долга" - мы, как правило, делаем все возможное сейчас, и таким образом воспринимаем их как более простые, ценой увеличения сложность и трудности позже.

Одна из сильных сторон Куколки - это ее детерминированный характер - манифест, который вы пишете, должен быть программно преобразован Puppet в модель сервера, который вы строите. Это воспринимается людьми как более "трудное", но я бы сказал, что трудность уменьшается, если вы усредняете его по кривой жизненного цикла вашей технологии. Другими словами, Puppet заставляет вас задуматься, но затем развернитесь в масштабе с легкостью, вместо того, чтобы думать позже и реинжинирингом, когда идете. Теперь платите наличными, а не кредитом, с интересом.

Если вы просто сбиваете манифесты других народов, в какой-то момент вы столкнетесь с проблемой - хотя мы бы хотели, чтобы это было не так, работая с Puppet сегодня, что, конечно, дело, потому что они пишут их для решения общего дела, а не для вашей конкретной системы. Многие манифестации общего назначения становятся полезными только тогда, когда вы достигаете лучшего понимания кукол.

Чтобы вместо этого начать, я проработал отличный путеводитель Learning Puppet, чтобы начать понимать основы. Кривая обучения куколку крутая, но через некоторое время она выйдет из строя.

Есть другие причины использовать другие средства обеспечения или инструменты, но я уверен, что вам лучше с Puppet или Chef, чем пытаться убедиться, что ваши сценарии оболочки делают именно то, что, по вашему мнению, они должны делать, поскольку если вам нужно создать новую среду.

Ответ 2

А, с свободой выбора возникает сложность выбора того, что подходит вам.

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

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

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

Puppet Server. Провайдер сервера Puppet подключается к серверу Puppet и настраивает вашу клиентскую виртуальную машину с помощью конфигурации node на этом сервере.

Другие инструменты, сценарии оболочки и т.д. - Используете ли вы нечто, отличное от того, которое встроено в Vagrant? Провизоры - это просто подклассы Vagrant:: Provisioners:: Base, то есть вы можете легко создавать свои собственные, если возникнет необходимость.

Вы также можете проверить документацию, docs.vagrantup.com/v2

Ответ 3

Я бы выбрал средство обеспечения оболочки, затем пусть оболочка script клонирует ваш репозиторий куклой/шеф-поваром из github или bitbucket. script может установить ключ ssh, чтобы разрешить автоматический клонирование git. Преимущество большинства облачных провайдеров в этом также поддерживается, поэтому вы можете использовать тот же script. Этот блог объясняет git, марионетку и бродягу, один человек и облачный блог