VMware vCloud Director WebMKSConsole (vmrc console) disconnected...

В жизни каждого инженера, делающего облака, наступает блаженный момент создания первой виртуальной машины через web интерфейс vCloud Director. Но чаще всего с первой попытки это бесчувственное чудовище отвечает вот такой картинкой:
vmrc console disconnected и беленький пустой экран в том месте, где должна быть консоль виртуальной машины. 
Причин такого беспредела может быть много. С самыми простыми и тривиальными все понятно: 

1. Некрасивенький не поддерживаемый браузер. Об этом vCD предварительно честно сообщит. Список поддерживаемых браузеров описан в kb. Все это дело сопровождается очень неприятной поправкой:
The vCloud Director Web Console is only compatible with 32-bit browsers. If a browser is listed as supported on a 64-bit operating system platform, the use of a 32-bit browser is assumed. 
... и отсутствием в списке поддерживаемых платформ OS X

2. С некоторых пор для работы с web console стало обязательным использование сертификатов, которые вы генерируете/импортируете при установке vCD. Поэтому необходимо корневые сертификаты импортировать в хранилище корневых доверенных. Данное условие необходимо выполнить как для интерфейса vCD, так и для console address (это такой второй интерфейс vCD, куда и происходят все редиректы при подключении к web console)

3. Сертификаты должны быть свежие и вкусно пахнущие действующие. Если вы внимательно их генерируете это не проблема, т.к. сами указываете срок действия сертификата. Если вы все делаете по любимому методу next/next/next, то сгенерированные, самоподписанные сертификаты будут валидны 3 месяца.

4. Нет разницы: используете вы самоподписанные сертификаты или выданные взрослым центром сертификации. Работает и с теми, и с другими.

5. ... и самое интересное:

даже если все вышеописанное выполнено, вы все равно увидите унылую картинку №1
Природа жизнедеятельности java остается непознанной всем разумным человечеством, поэтому посмотрим, что в таком случае нам говорит сама java:
в отладочном режиме java консоль сообщает неутешительное - "я попробовала это сделать, но не смогла". Однако в красненьких сообщениях есть полезная информация: в строке подключений указан IP адрес, а не имя. В сертификатах мы же указали, естественно, имя.
Для сертификатов, выданных сторонним центром сертификации, данную проблему можно решить обходным путем, добавив поддержку альтернативных имен и внеся IP адреса интерфейсов в список этих самых альтернативных имен.

Для самоподписанных, использование которых не есть правильно, так сделать не получится, поэтому мы вынуждены сделать все правильно:
В настройках vCD необходимо прописать адреса интерфесов в строках "vCloud Director secure public URL" и особенно в "vCloud Director public console proxy address", не обращая внимания на ключевое "public":

Прописывание адреса для REST API на работоспособность REST API никак не влияет.

По мотивам бесед с достойнейшим из достойнейших @Константином Введенским

Комментариев нет:

Отправить комментарий