virtualbox - 使用 Puppet 访问 VirtualBox 中的主机 VM

标签 virtualbox vagrant puppet

我有一个在 VirtualBox VM 中运行的应用程序,出于测试目的需要连接到主机。 VM 由 Vagrant 启动并由 Puppet 管理。

设置此连接的最佳方法是什么?例如,在我的主机上,该应用程序在端口 9200 上运行。因此,我想从我的 VM 转到 myhostmachine:9200

目前我正在考虑修改一个小命令,将 hostvm 添加为 /etc/hosts 的条目,使用像这样的简单命令来找出我的主机ip(与默认路由相同)。

/sbin/ip -4 route list 0/0 | grep -m 1 default | awk '/default/ { print $3 }'

让 Puppet 每次使用 exec 功能运行它。但是,我觉得必须有更好的方法。

guest 操作系统是 Ubuntu 12.04,主机是 OS-X。

谢谢!

最佳答案

据我所知,目前Vagrant always设置一个连接到virtualbox的natted接口(interface),所以我认为你主机的ip永远是你提到的10.0.2.2地址。我认为 Puppet 主机声明可能比每次运行该命令更容易管理。

host { 'myhostmachine':
  ip => '10.0.2.2',
}

puppet resource reference对于主机,您也可以设置所有其他参数。

然后我可以使用 myhostmachine:9200 访问主机

关于virtualbox - 使用 Puppet 访问 VirtualBox 中的主机 VM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23334555/

相关文章:

ubuntu - Vagrant 代理适用于 `apt-get` 但不适用于 `ping`

amazon-ec2 - 快速 AWS 自动扩展

laravel - 找不到/root/.composer/vendor/bin/laravel : No such file or directory

linux - 如何允许其他人访问我本地的 gitlab?

laravel - Laravel Homestead 安装上的 403 禁止 nginx/1.6.2

ssh - 无法使用 Ansible Playbook 在 Vagrant 上通过 SSH 连接到主机

puppet - 我应该和 puppet 一起走多远?

tomcat - puppetlabs/tomcat 模块是否使设置 Tomcat 的上下文路径变得简单?

virtualbox - 是否可以在 docker 容器中运行 virtualbox

vagrant - 使用 Chef 显示远程文件进度