Интеграция Docker с OpenStack через плагин Docker Heat

Я пытаюсь интегрировать Docker с OpenStack (icehouse) через подключаемый модуль Docker-Heat, и у меня возникает проблема.

OpenStack настроен согласно руководству OpenStack для Ubuntu. Я использую узел контроллера и вычислительный узел (всего 2 узла) с устаревшей сетью nova-network.

О чем следует помнить:

Узел контроллера: 1 сетевой интерфейс - интерфейс управления

Вычислительный узел: 2 сетевых интерфейса - интерфейс управления и внешний интерфейс (экземпляр vm имеет IP-адреса той же подсети, что и внешний интерфейс)

С OpenStack все работает отлично, кроме (что может быть проблемой, с которой я сталкиваюсь для докеров)

1. Вы не можете связаться (ping) с развернутыми экземплярами vm с узла контроллера [имеет смысл, я думаю, в этом нет проблем]

2- Вы не можете связаться (ping) с развернутыми экземплярами vm с вычислительного узла (ping: операция не разрешена) [может быть проблемой], но вы можете ping от экземпляра vm к вычислительному узлу

3- Сами виртуальные машины не видят друг друга [но я думаю, это не имеет отношения к проблеме, с которой я столкнулся]

Для докеров плагин установлен. Я считаю идеальным, поскольку синтаксис для Dockers DockerInc :: Docker ... принят, но когда я пытаюсь запустить пример, опубликованный в блоге Docker - внесение необходимых корректировок - экземпляр вычислений создается, а контейнер докера - нет. У меня эта ошибка:

Когда я пробую его как пользователь с ролью администратора MissingSchema: недопустимый URL-адрес u'192.168.122.26 / v1.9 / container / None / json ': схема не предоставлена. Возможно, вы имели в виду http: / /192.168.122.26/v1.9/containers/None/json

Когда я пробую его как пользователь только с ролью member MissingSchema: недопустимый URL u'192.168.122.26 / v1.9 / container / create ': схема не предоставлена. Возможно, вы имели в виду http: / /192.168.122.26/v1.9/containers/create

Примечания: 192.168.122.26 - это IP-адрес созданного экземпляра виртуальной машины. Я пробовал не только с cirros, но также с coreos и ubunto-точным (та же ошибка). Сам Docker установлен как на Controller, так и на Compute. Плагин Docker и его требования устанавливаются только на узле контроллера.

Наконец, и контроллер, и вычислительные узлы работают как виртуальные машины.

Я был бы очень рад, если бы у вас возникла идея. Спасибо за ваше время,

С наилучшими пожеланиями, господин Эль Сиуфи


person ElSioufy    schedule 08.05.2014    source источник
comment
В шаблоне изменено добавление http: // к IP-адресу возврата, и теперь у меня возникает ошибка тайм-аута соединения. Тайм-аут: (‹urllib3.connectionpool.HTTPConnectionPool объект в 0x7f30ca6cbf10›, 'Тайм-аут подключения к 192.168.122.26 истек. (Время ожидания соединения = 60) ')   -  person ElSioufy    schedule 08.05.2014
comment
Обратите внимание, что пример в блоге докеров крайне неточен. Проблема HTTPConnection, вероятно, вызвана тем, что у вас есть Heat, пытающийся создать контейнеры Docker до того, как Docker будет фактически установлен и запущен. Вы можете решить эту проблему с помощью условий теплового ожидания. Вот рабочий пример.   -  person larsks    schedule 30.08.2014
comment
Это в основном для людей, которые попали сюда через Google: я превратил этот пример в сообщение в блоге, которое более подробно описывает Heat и Docker: blog.oddbit.com/2014/08/30/docker-plugin-for-openstack-he   -  person larsks    schedule 31.08.2014


Ответы (1)


Я предполагаю, что вы не разрешили связь с виртуальными машинами из внешнего мира (которым будет контроллер и / или вычислительный узел с точки зрения виртуальной машины). По умолчанию связь от виртуальных машин с внешним миром разрешена, но не входящая связь с виртуальными машинами. Попробуйте добавить правило «разрешить все TCP» в группу безопасности по умолчанию клиента, в котором находятся виртуальные машины. Это может исправить время ожидания HTTP.

person John Hazen    schedule 14.05.2014
comment
Спасибо, Джон, к сожалению, это еще не решение. Я был в контакте с участниками Docker и посоветовал сначала решить проблемы с сетью openstack ... Я решил довольно много из них, но остался только один (Ping от контроллера к vms). Я задал еще один вопрос, пожалуйста, взгляните на него. Спасибо за вашу помощь. stackoverflow.com/questions/23677347/ - person ElSioufy; 15.05.2014