【问题标题】:Chef Knife Bootstrap Vagrant VM - Connection errorsChef Knife Bootstrap Vagrant VM - 连接错误
【发布时间】:2023-03-18 02:10:01
【问题描述】:

我的环境:Virtualbox,CentOs VM 6.5,安装了 chef 客户端 Ubuntu 12.04 流浪盒

问题:我正在尝试$knife boostrap vagrant.vm -x vagrant -N "target1",但我收到不同的错误消息:

"Connecting to vagrant.vm"
ERROR: Network Error: getaddrinfo: Name or service not known. Check your knife configuration and network settings. 

我尝试使用 IP 127.0.0.1 连接到 Vagrant VM

Error: Network error: connection refused - connect(2) for 127.0.0.1 port 22. Check your knife configuration and network settings. 

我可以以 vagrant@127.0.0.1 的身份 ssh 进入 vagrant 框,没有任何问题。 /etc/hostname 具有正确的 IP 和 VM 的 FQDN。

为什么刀引导命令无法连接到我的 Vagrant VM?我该如何解决这个问题?

【问题讨论】:

  • 您可以在您的机器上使用ssh vagrant@vagrant.vm 进行连接吗?
  • 没有。 /etc/hostname 127.0.0.1 localhost 127.0.1.1 vagrant.vm vagrant 允许我使用 127.0.0.1 的 IP 进行 ssh。我删除了除 127.0.0.1 和 vagrant.vm 之外的所有内容。我做了一个主机名 -F /etc/hostname。这阻止了我进入流浪者的盒子。我添加了主机名和 IP,重新运行主机名 -F /etc/hostname,但仍然无法 ssh 进入框。
  • 我在 CentOS 中恢复了我的快照。我可以从我的 mac SSH 到 vagrant VM。我无法从 CentOS VM SSH 到 Vagrant VM。 $ssh vagrant@127.0.0.1 -p 2222. 连接到主机 127.0.0.1 端口 2222 连接被拒绝。我又开始ssh了。 $netstat -pnl | grep。 SSH 正在监听。我删除了 -p 标志并运行了命令 $ssh vagrant@127.0.0.1。我现在连接到 Vagrant VM,但它不接受我的“vagrant”密码。权限被拒绝,请重试。我需要从 CentOS 连接到 Vagrant VM,因为 CentOS VM 安装了 Chef 工作站来运行刀引导程序。

标签: chef-infra virtualbox bootstrapping knife


【解决方案1】:

vagrant启动机器时,不会直接在localhost上监听22端口;机器将侦听端口 22,但 Vagrant 为 SSH 设置端口转发,具体细节取决于提供者(virtualbox vs vmware 等)和网络选项(桥接、仅主机等),可以是在Vagrantfile中设置。

vagrant up 之后,您将看到如下所示的输出:

default: Fixed port collision for 22 => 2222. Now on port 2201.
default: Starting the VMware VM...
default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 192.168.21.131:22
...
default: Forwarding ports...
default: -- 22 => 2201

所以机器起来后,我们就可以直接SSH了:

% ssh -p2201 vagrant@localhost
Warning: Permanently added '[localhost]:2201' (RSA) to the list of known hosts.
vagrant@localhost's password:
Last login: Mon Apr 20 04:18:44 2015 from 192.168.21.1
[vagrant@localhost ~]$

然后knife bootstrap 可以使用端口选项-p 2201 完成。

但是,我想知道您为什么要对 vagrant 机器使用 knife bootstrap。 Vagrant 支持将 Chef 直接用作配置程序,使用 chef-solo、chef-client 和常规 Chef Server、chef-zero(常用于测试的内存中 Chef Server)或 chef-apply。有关详细信息,请参阅 vagrant 站点上的配置文档。

【讨论】:

  • 我正在通过 Opscode 的 Nathan Harvey 学习 Chef。我在教程模块 3 vimeo.com/78852767。 8 点 50 分是他说要用刀引导的地方。感谢您提供文档链接。我以前没有使用 Vagrant 和厨师作为供应商,但我会在获得更多经验后研究这一点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-24
  • 1970-01-01
  • 2015-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多