Доступы
Как получить доступ к хостовой машине 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