Как автоматизировать установку приложений на виртуальной машине?
Используя Open Nebula, я создал несколько виртуальных машин (qemu-kvm) с образом Centos 6.5, предоставленным Open Nebula Marketplace. Теперь я хотел бы установить больше приложений на виртуальные машины и запустить также несколько постскриптов. Хотя я мог бы сделать это, выполнив команду ssh для каждого vm, но я бы хотел автоматизировать этот процесс.
1 ответ
Мы используем Солт ( http://www.saltstack.com/) именно для этого.
Через некоторые более или менее сложные файлы конфигурации вы можете заставить машины автоматически устанавливать программное обеспечение, файлы конфигурации, пользователей, ssh-ключи,...
Например, вы можете установить правило, что любая виртуальная машина, полное доменное имя которой начинается с "web", должна установить httpd.
Альтернативами являются Puppet ( https://puppetlabs.com/), Chef ( https://www.chef.io/chef/), Ansible ( http://www.ansible.com/home) и, возможно, несколько других.
Для установки Salt мы используем дополнительный контекстный скрипт на виртуальной машине (обратите внимание, вам нужно будет добавить 'init.sh' и другой контекстный скрипт), который заботится об установке миньона. Сценарий выглядит примерно так (замените ##salt-master-FQDN## на IP-адрес salt-master или fqdn):
#!/bin/sh
if [ ! -f /etc/salt/minion ]; then
yum clean all
yum -y update
yum -y install salt-minion
sed -i '/master:/c\master: ##salt-master-FQDN##' /etc/salt/minion
systemctl enable salt-minion.service
systemctl start salt-minion.service
fi