Для развёртывания и управления kubernetes в vCloud можно воспользоваться инструментом container service extensions.
Важное примечание: работа с инструментом предполагает наличие навыков работы в командной строке и навыков работы с приложениями python3.
Предварительные настройки.
Эти настройки нужно сделать обязательно, в противном случае развёртывание кластера kubernetes будет невозможно или сопряжено с серьёзными трудностями.
В первую очередь необходимо создать сеть для кластера kubernetes. Для этого в панели управления облаком в меню в левой части экрана нужно переключиться в раздел «Networks».и в нажать ссылку «ADD» над списком сетей. Откроется мастер создания сети. На первой странице мастера нужно выбрать тип сети – Routed (после окончания настроек на каждой странице нужно нажать кнопку «Next»). На второй странице задаётся имя сети и адресация (не имеют значения, например k8s_net и 10.0.8.1/24). На третьей нужно выбрать Edge Gateway, к которому будет подключена сеть. На четвёртой – пул адресов dhcp, на пятой – DNS-сервер. На последней странице вам будет предложено проверить и применить настройки. После завершения работы мастера дождитесь создания сети.
Следующим этапом необходимо обеспечить доступ в Интернет из созданной сети (требуется на этапе развёртывания кластера) и доступ в сеть кластера из вашего облака и из Интернет (если требуется). Для обеспечения доступа в Интернет нужно добавить на Edge в настройках NAT правило snat, транслирующее адреса подсети во внешний IP. Далее, с любой виртуальной машины в вашем vCloud проверьте доступность сети кластера kubernetes (командой ping <gateway_address>, в нашем примере ping 10.0.8.1), при необходимости настройте правила firewall. Для доступа в сеть кластера рекомендуется настроить на Edge SSL VPN, его настройка описана в статье:
https://client.cloud4y.ru/index.php/knowledgebase/133/Remote-Access-SSL-VPN-Plus.html
Последний этап подготовительных работ – генерация rsa-ключей для беспарольного доступа к кластеру. Необходимость этого шага связана с тем, что доступ по паролям по умолчанию отключен. В Linux сгенерировать ключ можно с помощью команды ssh-keygen, в Windows можно использовать генератор ключей из комплекта программы putty.
Установка клиента
Предполагается, что в системе, с которой будет производиться развёртывание кластера, уже установлен python3 нужной версии (не ниже 3.7.3 для cse версии 2.5.1, для более поздних версий следует уточнить требования в документации cse). Если нужная версия python3 не установлена, нужно это сделать, согласно официальному руководству по установке для вашей операционной системы (подробности: https://www.python.org/doc/).
Сначала необходимо установить vcd-cli:
pip3 install vcd-cli
Далее необходимо авторизоваться в vCloud, выполнив команду:
vcd login vcd.cloud4y.ru orgname username,
где
orgname - имя вашей организации (например, demo-petrov, gazprom)
username - имя пользователя с правами администратора в вашей организации vCloud (под этим пользователем обычно авторизуются в панели управления облаком). Команда запросит пароль пользователя.
В случае успешной авторизации будет выведено сообщение приблизительно такого вида: administrator logged in, org: 'demo-petrov', vdc: 'demo-petrov_VDC_hk41'
После успешной авторизации создаётся файл настроек, в системах Linux ~/.vcd-cli/profiles.yaml (в Windows 10, Windows Server 2016 и выше - .vcd-cli\ profiles.yaml). В конец этого файла нужно добавить следующие строки (соблюдая синтаксис yaml):
extensions:
- container_service_extension.client.cse
Теперь можно установить cse:
pip3 install container-service-extension
Проверка корректности установки:
vcd cse version
Результатом должен быть вывод строки:
CSE, Container Service Extension for VMware vCloud Director, version х.х.х
Обратите внимание, ошибки при установке vcd-cli и cse, а также сообщения о невозможности загрузки модуля container_service_extension.client.cse свидетельствуют о несовместимой версии либо о некорректной установке или настройке python3. В некоторых системах рекомендуется использовать pip3.7 install вместо pip3 install. Сообщение «No such command "cse"» свидетельствует об ошибках в файле конфигурации profiles.yaml.
Развёртывание кластера
Для развёртывания кластера выполните команду:
vcd cse cluster create <имя кластера> --network <имя сети> --ssh-key <путь к rsa-ключу> --nodes <количество нод кластера> --enable-nfs
При появлении ошибки «Error: Session has expired or user not logged in. Please re-login» повторите процедуру авторизации, как описано в предыдущем разделе.
При успешном выполнении кластер будет создан в отдельном vApp. Процесс создания можно наблюдать в веб-интерфейсе vCloud.