0

我想使用 chef-solo 来设置一个 VirtualBox 虚拟机。我的主机操作系统是 Windows 8。我的起点是配置了用户、密码和 su 密码的 Debian 7 VM。

我已经在 Debian VM 上安装了 librarian-chef,并设置了一些配方来安装应用程序。(我从http://www.concreteinteractive.com/how-to-deploy-a-rails-application-anywhere-with-chef/上的教程开始)。

现在我很困惑。该教程说我必须使用 Vagrant 来配置 Debian7 虚拟机。这是否意味着我必须在我的 Windows 8 主机操作系统上安装 Vagrant 并从那里继续?根据我对 Vagrant 的了解,它假设 VirtualBox 存在于 VM 上。我不明白它是如何工作的......

是否有任何可以在我的虚拟机上运行 Chef-solo 食谱或食谱而不依赖于我的主机操作系统上的 Vagrant?

有没有办法在没有 Vagrant 的情况下运行 Chef?如果是这样,怎么做?

从长远来看,我想将 chef-solo 用于远程机器(你只有一个 IP 地址、用户、密码和 su 密码),但我看到的唯一选择是 Amazon AWS。

4

1 回答 1

0

我建议您从 Windows 中移出,并使用纯 linux(其中包含 linux VM)。为了使用 vagrant,你需要安装 Ruby(我不知道它是如何在 Windows 上完成的,但是在 linux 上有很多教程可以做到这一点,因此我之前的建议)。

Vagrant 是为自动部署虚拟机而设计的。例如,我正在使用它来开发基于 chef-solo 的服务器配置工具。因为每次我使用 vagrant 时手动部署虚拟机都很痛苦。我的路线图是这样的:

  1. 从 vagrant box 站点下载一个盒子到 $HOME/vagrant-boxes/
  2. 执行(在 linux 主机上):
vagrant box add DebianSqueeze64.box $HOME/vagrant-boxes/DebianSqueeze64.box
vagrant init DebianSqueeze64.box
  1. 编辑您的 Vagrant 文件,这是一个示例:
config.vm.provision :chef_solo do |chef|
  chef.cookbooks_path = "cookbooks"
  chef.data_bags_path = "data_bags"
  chef.add_recipe "motd-tail"
  chef.add_recipe "dhcp"
  chef.add_recipe "dhcp"
  chef.add_recipe "apache2"
  chef.add_recipe "vagrant_main"
end
  1. 启动虚拟机

vagrant up

您可能也对 littlechef [1] 或 fabric 感兴趣

[1] https://github.com/tobami/littlechef

于 2013-06-18T14:32:27.623 回答