Как автоматизировать установку приложений на виртуальной машине?

Используя 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
Другие вопросы по тегам