Клиент управления monq
monqctl - утилита управления сервисами Monq. При помощи данной утилиты производится установка, обновление и конфигурация микросервисов Monq в кластере Kubernetes.
Установка monqctl
Установку клиента управления Monq можно произвести на любой компьютер под управление Linux или Windows.
❗️ Для версии monqctl под Windows существует ограничение на выполнение сложных миграций в БД. В связи с этим, основная функция клиента под Windows - выгрузка оффлайн обновлений с серверов Monq для переноса их в закрытые окружения.
По-умолчанию, в распространяемом демонстрационном образе Monq - клиент управления уже установлен и частично сконфигурирован.
Для работы с обновлениями необходимо добавить в конфигурацию monqctl
токен доступа к обновлениям ReleaseHub - шаг №3 конфигурации.
-
Загрузите последнюю версию Клиента управления Monq из нашего репозитория:
curl -LO https://downloads.monq.ru/tools/monqctl/`curl -s https://downloads.monq.ru/tools/monqctl/latest.txt`/linux-x64/monqctl.zip
WindowsСсылка для загрузки версии
monqctl
для Windows - скачатьЧтобы загрузить определенную версию monqctl ...Вставьте в фрагмент команды вместо
$(curl -s https://downloads.monq.ru/tools/monqctl/latest.txt)
нужную версию.Например, команда загрузки версии v1.1.0 для Linux будет выглядеть следующим образом:
curl -LO https://downloads.monq.ru/tools/monqctl/v1.1.0/linux-x64/monqctl.zip
-
Разархивируйте полученный файл:
#debian based distribs
sudo apt-get install unzip
#redhat based distribs
sudo yum install unzip
unzip monqctl.zip -
Сделайте двоичный файл
monqctl
исполняемым:chmod +x ./monqctl
-
Переместите двоичный файл в директорию из переменной окружения
$PATH
:sudo mv ./monqctl /usr/local/bin/monqctl
-
Убедитесь, что установлена последняя версия
monqctl
:monqctl --version
Настройка monqctl
Для начала работы с monqctl
требуется выполнить конфигурацию контекста программы для использования с конкретным экземпляром Monq.
Предположим, что ваш экземпляр Monq расположен по следующему адресу: monq.domain.com
и вам необходимо произвести конфигурацию monqctl
. Для этого выполните следующие действия:
-
Добавьте экземпляр Monq в конфигурацию контекста:
monqctl config set instance monq.domain.com --server=https://registry.api.monq.domain.com
-
Добавьте токен доступа в реестр микросервисов для управления Monq:
TOKEN=$(kubectl get secrets -n production registry-token -o jsonpath='{.data.secure_token}' | base64 -d)
monqctl config set credential monq-user --registry-token=${TOKEN} -
Добавьте токен доступа в ReleaseHub для получения обновлений:
monqctl config set releasehub monq-release-hub --token=<token>
Токен доступа в ReleaseHub приходит на электронную почту вместе с лицензионным ключом (в том числе с пробным)
-
Сконфигурируйте контекст, который связывает экземпляр Monq, разрешение доступа и Monq ReleaseHub для доступа к обновлениям:
monqctl config set context monq.domain.com --instance=monq.domain.com --credential=monq-user --releasehub=monq-release-hub
-
Установите текущий контекст экземпляра Monq, с которым будет взаимодействовать клиент управления
monqctl
:monqctl config use-context monq.domain.com
Основные команды monqctl
Использование:
monqctl [options] [command]
Опции:
Опция | Описание |
---|---|
--version | Показать текущую версию программы monqctl |
-?, -h, --help | Показать справку |
Команды:
Команда | Описание | Справка |
---|---|---|
config | Команда для работы с конфигурацией monqctl | monqctl config -h |
registry | Команда для работы с реестром микросервисов | monqctl registry -h |
release | Команда для работы с обновлениями Monq | monqctl release -h |
instance | Команда управления текущим экземпляром Monq | monqctl instance -h |
installer | Команда для работы с образами установки | monqctl installer -h |
Команда monqctl registry
Использование:
monqctl [options] registry [command]
Опции:
Опция | Описание |
---|---|
-?, -h, --help | Показать справку |
Команды:
Команда | Описание | Справка |
---|---|---|
get | Команда получение статусов и информации из реестра микросервисов | monqctl registry get -h |
apply | Команда для применения конфигураций микросервисов | monqctl registry apply -h |
update | Команда для обновления версии реестра микросервисов | monqctl registry update -h |
export | Команда для экспорта обновления из ReleaseHub в папку | monqctl registry export -h |
delete | Служебная команда для удаления микросервисов Monq | monqctl registry delete -h |
Команда monqctl release
Использование:
monqctl [options] release [command]
Опции:
Опция | Описание |
---|---|
-?, -h, --help | Показать справку |
Команды:
Команда | Описание | Справка |
---|---|---|
update | Команда обновления объектов ППО текущей инсталляции | monqctl release update -h |
version | Команда для работы с доступными версиями Monq | monqctl release version -h |
use-version <version> | Команда для выбора устанавливаемой версии обновления | monqctl release use-version -h |
current-version | Команда для получения текущей версии Monq | monqctl release current-version -h |
exec | Служебная команда для запуска миграций и скриптов обновления Monq | monqctl release exec -h |
import-images | Команда для перекачивания образов Monq | monqctl release import-images -h |
Команда monqctl instance
Использование:
monqctl [options] instance [command]
Опции:
Опция | Описание |
---|---|
-?, -h, --help | Показать справку |
Команды:
Команда | Описание | Справка |
---|---|---|
clear | Команда очистки сущностей Monq | monqctl instance clear -h |
exec | Команда запуска миграций с БД Monq | monqctl instance exec -h |
get | Команда получения информации об инстансе Monq | monqctl instance get -h |
restart | Команда для перезапуска сервисов Monq | monqctl instance restart -h |
create | Команда для добавления новых модулей в Monq | monqctl instance create -h |
delete | Команда для удаления очередей и подписок к ним в Monq | monqctl instance delete -h |
reset | Команда сброса пароля администратора Monq | monqctl instance reset -h |
Команда monqctl installer
Использование:
monqctl [options] installer [command]
Опции:
Опция | Описание |
---|---|
-?, -h, --help | Показать справку |
Команды:
Команда | Описание | Справка |
---|---|---|
version list | Команда для получения списка доступных версий установщика | monqctl installer version -h |
version download <version> | Команда для загрузки доступной версии Monq | monqctl installer download -h |
Обязательные параметры:
--token <update-token>
- токен для получения обновлений Monq
Команда monqctl config
Команда GET
Получить список экземпляров Monq
monqctl config get instances
Получить подробную информацию по экземпляру monq
monqctl config get instances <Name of instance>
Получить список пользователей из конфигурации
monqctl config get credentials
Получить подробную информацию о пользователе
monqctl config get credentials <Name of credential>
Получить список настроенных ReleaseHub из конфигурации
monqctl config get releasehubs
Получить подробную информацию по ReleaseHub
monqctl config get releasehubs <Name of ReleaseHub>
Получить список настроенных контекстов
monqctl config get contexts
Получить подробную информацию по контексту
monqctl config get contexts <Name of context>
Команда RENAME
Переименовать экземпляр monq в конфигурации
monqctl config rename instance <old-instance> <new-instance>
Переименовать alias пользователя monq в конфигурации
monqctl config rename credential <old-user> <new-user>
Переименовать ReleaseHub в конфигурации
monqctl config rename releasehub <old-release-hub> <new-release-hub>
Переименовать экземпляр monq в конфигурации
monqctl config rename context <old-smon> <new-smon>
Команда DELETE
Удалить настроенный экземпляр monq из конфигурации
monqctl config delete instance <Name of instance>
Удалить пользователя из конфигурации
monqctl config delete credential <Name of credential>
Удалить релиз-хаб из конфигурации
monqctl config delete releasehub <Name of releasehub>
Удалить контекст из конфигурации
monqctl config delete context <Name of context>
Общие команды
Показать конфигурационный файл полностью
monqctl config view
Показать текущий контекст
monqctl config current-context
Установить текущий контекст экземпляра, с которым будет производится работа
monqctl config use-context <Name of context>