我正在尝试使用以下命令引导一个vagrant vm并安装chef
knife bootstrap localhost -p 2222 -x vagrant -P vagrant --sudo
但没有发生任何事情 - 此粘贴框中没有显示错误消息 - http://pastebin.com/06pyGAHZ请咨询一下?我错过了什么......
我的流浪文件供参考 - http://pastebin.com/djncyWNn
更新: 我可以尝试它可能有用的流浪者条款。但令我困惑的是这个
1)虽然它是一个流浪者的vm,但它没有什么不同,它有一个ip地址,我可以使用ssh vagrant @ localhost -p 2222从本地机器ssh
2)刀子声明没有给出任何错误信息,它默默无效
答案 0 :(得分:1)
db_config.vm.box =“Ubuntu12.04cloud”
这会将VM带到您的网络上,而且它不会出现在Virtualbox的虚拟接口上,我不知道为什么它不能在natted接口上运行,但可能是因为guest添加不是最新的。完成ssh到框并检查桥接的IP地址是什么,如果你有正确的DNS设置,你可以更新该框的FQDN。
要引导Box,请使用指向Bridged IP的FQDN或仅使用Bridged IP地址。这现在可以工作了。
下面是我在没有Chef的情况下下载的ubuntu盒的输出,并使用上述方法启动了Vagrant VM。
答案 1 :(得分:1)
这是使用knife直接引导您的Vagrant VM的另一种方法:为什么不使用内置的Vagrant Chef配置器呢?在这样做时,您不需要在Vagrant VM上安装Chef,但您仍然可以使用Chef配置它们。
在你的Vagrant.configure下(" 2")do | config |你可以这样添加:
config.omnibus.chef_version =:latest
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.ssh.shell = "bash -c 'BASH_ENV=/etc/profile exec bash'"
config.omnibus.chef_version = :latest
config.vm.define :oak do |oak|
oak.vm.box = "hashicorp/precise64"
oak.vm.provision "chef_client" do |client|
client.chef_server_url = "https://my-chef-server:443"
client.validation_key_path = "/home/me/.chef/chef-validator.pem"
client.add_role "base"
client.add_recipe "users"
client.add_recipe "nginx"
client.environment = "development"
end
end
config.vm.define :maple do |maple|
...