Назад | Перейти на главную страницу

Возможно ли использование Capistrano для пользовательских задач обслуживания в университетской лаборатории?

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

Я также хотел бы автоматизировать членство машин и виртуальных машин для Kerberos и Puppet, если это возможно.

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

Мне что-то не хватает в Capistrano, или это не тот инструмент, который подходит для этой работы? Есть ли еще полезные альтернативы?

Capistrano, как вы обнаружили, в первую очередь является средством развертывания. Похоже, что вам нужен инструмент управления конфигурацией. Puppet, Chef, Salt и Ansible - все это примеры инструментов CM. Они используют все очень эффективные продукты, но для вашей ситуации я рекомендую вам сначала взглянуть на Ansible.

У всех этих языков есть своего рода декларативный язык, с помощью которого вы можете описать желаемое состояние ваших систем. Сама по себе эта функциональность подходит для некоторых рабочих процессов, но в некоторых случаях вам просто нужно, чтобы CM запускал набор команд последовательно. В этом отличие Ansible - он позволяет вам объявлять биты конфигурации для частей вашей системы, а затем также указывать команды оболочки для запуска.

Еще один огромный Преимущество Ansible по сравнению с другими вариантами заключается в том, что единственное требование на стороне клиента - это интерпретатор python и ssh-сервер - агент не требуется.