Комментарии 6
Спасибо за статью!
Роли compute.admin было недостаточно, выдавало ошибку:
ClientError: /yandex.cloud.compute.v1.InstanceService/Create
PERMISSION_DENIED: Permission denied to resource-manager.folder
Помогло добавление роли admin
Что должно быть результатом данного деплоя? Работающий сервис на публичном IP? Или для этого требуются ещё какие-либо действия?
Результат деплоя - запущенный по переданной docker-compose спецификации кластер. В моем пример я открыл порт 80 на nginx и через публичный IP мог получить к нему доступ по 80 порту.
Яндекс сам позаботится о том, чтобы docker стартовал
В GitHub Actions ошибок нет, ВМ успешно создаётся, но на этом всё. Посмотрел docker ps
, docker images
, но там ничего нет.
Есть ли подход, как можно выявить неполадку? Опыта в DevOps нет, не знаю с чего здесь можно начать.
Если docker images ничего не выдает, то значит не получилось скачать образы. Предположения:
Неправильные названия образов: собираются и выгружаются одни, скачиваются другие (например, различные теги)
Для скачивания образов отсутствуют права (нужна авторизация)
Проверьте еще, что эти образы существуют в репозитории
За статью спасибо, отметил кое-что для себя. Но не совсем понял где настройки nginx, они в образ зашиты получается? Если нет, то и выпуск сертификатов можно вручную настроить через тот же cerbot например. Если не менять параметры самой ВМ, она не пересоздаётся, только docker-compose перезапускается? Например, поставлю я на саму машину nginx, выпущу сертификаты и т.д., все эти настройки в каком случае могут слететь, если изменится один из параметров ВМ, например имя? Ну и напоследок, тип процессора по умолчанию (Intel Cascade Lake) есть возможность изменить при создании ВМ? В документации не нашёл ничего про это. Это случаем не vm-platform-id?
CI/CD из GitHub в Яндекс Облако через Docker