Доступы

Как получить доступ к хостовой машине docker-compose/k8s

Описание переменных для получения доступа

Для доступа на хостовую машину по ssh/kubectl, необходимо запросить данные у мэйентейнера, либо установить значения переменных SMTP для получения по почте.

  • K8S: genesis_KUBECONFIG_BRANCH_NAME. Также для однонодового кластера, разворачиваемого средствами SSH и
  • облачного (ex. DO) провайдеров присутствуют genesis_KUBECONFIG (корневой кубконфиг использующийся для создания
  • новой ветки), genesis_IP_ADDRESS и genesis_SSH_PRIVATE_KEY (используется для доступа по ssh к машине с нодой)
  • Docker-compose: genesis_IP_ADDRESS_BRANCH_NAME и genesis_SSH_PRIVATE_KEY_BRANCH_NAME. BRANCH_NAME - название ветки

Значения переменных будут сформированы после первого деплоя дроплета.

Использование юзера при доступе по ssh

По умолчанию ключ на хост машину доступен под root пользователем ex. ssh root@ip_address. На самой хост машине управление управление процессами предоставлено пользователю root (для k8s), devop (для docker-compose).

Только для docker-compose Для переключения пользователя используется команда su - devop, которая переключит вас на пользователя devop, от которого следует выполнять все команды связанные с приложением (ex. genesis update (ручное управление приложением), docker-compose logs [service] (посмотреть логи сервиса), etc).

Как настроить отправку приватных ключей (куб конфигов) на почту

Для отправки kubeconfig на почту необходимо в .gitlab-ci.yml указать данные smtp сервера в переменных: SMTP_LOGIN, SMTP_PASSWORD, SMTP_HOST, SMTP_PORT . Файл kubeconfig в случае k8s или приватные ключи в случае docker-compose будут отправлены на почту указанную в переменной GITLAB_USER_EMAIL, которая в свою очередь принимает значение почты коммитевшего автора в ветку.

Как настроить деплой для сервисов с указанием определенной сети (VPN) YandexCloud

Если доступ к сервисам необходимо осуществлять через впн, то необходимо указать две переменные YANDEX_PRIVATE_NETWORKID и YANDEX_USE_LOCAL_IP. Так же каждая из них может быть использованна обособленно. Для настройки работы сервисов с определенной сетью в облаке YandexCloud необходимо указать переменную YANDEX_PRIVATE_NETWORKID . NETWORKID можно найти в вашем фолдере, перейдя в VirtualPrivateCloud/подсети. Для использования локального IP в случае настройки DNS необходимо указать YANDEX_USE_LOCAL_IP: 1