Chef Knife Bootstrap Vagrant VM — ошибки подключения

Моя среда: Virtualbox, CentOs VM 6.5 с установленным клиентом chef Ubuntu 12.04 Vagrant Box

Проблема: я пытаюсь $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. 

Я попытался подключиться к Vagrant VM, используя IP 127.0.0.1.

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

Я могу использовать ssh как [email protected] в vagrant box без проблем. /etc/hostname имеет правильный IP-адрес и полное доменное имя виртуальной машины.

Почему команде Knife Boot Strap не удается подключиться к моей виртуальной машине Vagrant? Как решить эту проблему?


person ficestat    schedule 19.04.2015    source источник
comment
Можете ли вы подключиться с помощью ssh [email protected] со своего компьютера?   -  person Javier Cortejoso    schedule 20.04.2015
comment
№ /etc/hostname 127.0.0.1 localhost 127.0.1.1 vagrant.vm vagrant разрешил мне подключиться по ssh, используя IP-адрес 127.0.0.1. Я удалил все, кроме 127.0.0.1 и vagrant.vm. Я сделал имя хоста -F /etc/hostname. Это помешало мне sshing в бродячий ящик. Я добавил имена хостов и IP-адреса обратно, перезапустил имя хоста -F /etc/hostname и все еще не могу войти в поле по ssh.   -  person ficestat    schedule 20.04.2015
comment
Я восстановил свой снимок в CentOS. Я могу подключиться к бродячей виртуальной машине по ssh со своего Mac. Я не могу подключиться по ssh от виртуальной машины CentOS к виртуальной машине Vagrant. $ssh [email protected] -p 2222. Подключиться к хосту 127.0.0.1, порт 2222, в соединении отказано. Я снова запустил ssh. $netstat-pnl | грэп. SSH слушает. Я удалил флаг -p и запустил команду $ssh [email protected]. Сейчас я подключаюсь к виртуальной машине Vagrant, но она не принимает мой пароль vagrant. Разрешение отклонено, попробуйте еще раз. Мне нужно подключиться к виртуальной машине Vagrant из CentOS, потому что на виртуальной машине CentOS установлена ​​рабочая станция Chef для запуска начальной загрузки ножа.   -  person ficestat    schedule 20.04.2015


Ответы (1)


Когда vagrant запускает машину, он не прослушивает порт 22 непосредственно на локальном хосте; машина будет прослушивать порт 22, но Vagrant настраивает переадресацию портов для SSH, а точные особенности зависят от провайдера (virtualbox против 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.

Однако мне интересно, почему вы используете knife bootstrap против бродячей машины. Vagrant поддерживает использование Chef непосредственно в качестве поставщика, использование chef-solo, chef-client с обычным сервером Chef, chef-zero (сервер Chef в памяти, часто используемый для тестирования) или chef-apply. Подробнее см. в документации по подготовке на бродячем сайте.

person jtimberman    schedule 20.04.2015
comment
Я изучаю Chef через Натана Харви из Opscode. Я изучаю учебный модуль 3 vimeo.com/78852767. На 8:50 минуте он говорит использовать нож для пристегивания. Спасибо за ссылку на документацию. Раньше я не использовал Vagrant с шеф-поваром в качестве поставщика, но я рассмотрю это, когда получу больше опыта. - person ficestat; 20.04.2015