如何在虚拟机中自动化应用程序安装?

时间:2015-06-23 05:51:42

标签: virtualization qemu kvm opennebula

使用Open Nebula我已经使用Open Nebula Marketplace提供的Centos 6.5图像实例化了几个虚拟机(qemu-kvm)。现在我想在VM上安装更多应用程序并运行一些postcripts。虽然我可以通过对每个vm执行ssh来做到这一点,但我想自动化该过程。

1 个答案:

答案 0 :(得分:0)

我们正是使用Salt(http://www.saltstack.com)。

通过一些或多或少复杂的配置文件,您可以让机器自动安装软件,配置文件,用户,ssh-keys,......

例如,你可以设置一个规则,任何以FQDN开头的“web”的VM必须安装httpd。

替代方案是Puppet(https://puppetlabs.com),Chef(https://www.chef.io/chef/),Ansible(http://www.ansible.com/home)以及其他一些。

对于Salt的安装,我们在VM中使用了一个额外的上下文脚本(注意,你必须添加'init.sh'和另一个上下文脚本),它负责安装minion 。脚本看起来有点像这样(用salt-master IP或fqdn替换## 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