В этом разделе представлена информация о сервисах, которые можно развернуть с помощью Michman.
Michman поддерживает набор различных СУБД, которые можно легко развернуть в облаке.
Apache Ignite
Apache Ignite это распределенная база данных для высокопроизводительных вычислений в оперативной памяти. Эта СУБД может быть развернута в распределенном кластере виртуальных машин в облаке с помощью Michman.
На текущий момент в системе поддерживается версия 7.1.1 Apache Ignite.
Параметр конфигурации сервиса ignite включает:
Следующий пример показывает запрос для создания кластера из трех узлов с сервисом Apache Ignite и уточненным параметром memory.
curl http://michman_addr:michman_port/projects/{ProjectID}/clusters -XPOST -d
'{
"DisplayName": "my-cluster",
"Services": [
{
"Name": "ignite-service",
"Type": "ignite",
"Version": "7.1.1",
"Configs": {
"memory": "30"
}
}
],
"Image": "ubuntu",
"NHosts": 3
}'
Полная и актуальная информация о поддерживаемых параметрах конфигурации и версиях сервиса Apache Ignite доступна по API:
curl http://michman_addr:michman_port/configs/ignite
Apache Cassandra
Apache Cassandra это распределенная система управления базами данных NoSQL с открытым исходным кодом, относящаяся к колоночным СУБД, предназначенная для обработки больших объемов данных, обеспечивая высокую доступность без единой точки отказа. Этот сервис можно развернуть в распределенном кластере виртуальных машин в облаке с помощью Michman.
Michman позволяет развернуть Apache Cassandra, связанную с системой Spark.
На текущий момент поддерживается версия 3.11.4 Apache Cassandra.
Следующий пример показывает запрос для создания кластера из трех узлов с сервисами Apache Cassandra и Spark.
curl http://michman_addr:michman_port/projects/{ProjectID}/clusters -XPOST -d
'{
"DisplayName": "my-cluster",
"Services": [
{
"Name": "cassandra-service",
"Type": "cassandra",
"Version": "3.11.4"
},
{
"Name": "spark-service",
"Type": "spark",
"Version": "2.3.0",
}
],
"Image": "ubuntu",
"NHosts": 3
}'
Полная и актуальная информация о поддерживаемых параметрах конфигурации и версиях сервиса Apache Cassandra доступна по API:
curl http://michman_addr:michman_port/configs/cassandra
ClickHouse
ClickHouse это высокопроизводительная система управления базами данных OLAP с открытым исходным кодом. Этот сервис можно было развернуть на узле хранения в облаке с помощью Michman.
На текущий момент поддерживается версия latest ClickHouse.
Config parameter for clickhouse service type supports:
Следующий пример показывает запрос для развертывания в облаке СУБД ClichHouse.
curl http://michman_addr:michman_port/projects/{ProjectID}/clusters -XPOST -d
'{
"DisplayName": "my-cluster",
"Services": [
{
"Name": "clickhouse-service",
"Type": "clickhouse",
"Configs": {
"db_password": "secret"
}
}
],
"Image": "ubuntu",
"NHosts": 1
}'
Полная и актуальная информация о поддерживаемых параметрах конфигурации и версиях сервиса ClickHouse доступна по API:
curl http://michman_addr:michman_port/configs/clickhouse
Apache CouchDB
Apache CouchDB это документо-ориентированная база данных NoSQL с открытым исходным кодом, реализованная на Erlang. Этот сервис можно было развернуть на узле хранения в облаке с помощью Michman.
На текущий момент поддерживается версия latest CouchDB.
Параметр конфигурации сервиса couchdb включает:
Следующий пример показывает запрос для развертывания в облаке СУБД CouchDB.
curl http://michman_addr:michman_port/projects/{ProjectID}/clusters -XPOST -d
'{
"DisplayName": "my-cluster",
"Services": [
{
"Name": "couchdb-service",
"Type": "couchdb",
"Configs": {
"db_password": "secret"
}
}
],
"Image": "ubuntu",
"NHosts": 1
}'
Полная и актуальная информация о поддерживаемых параметрах конфигурации и версиях сервиса CouchDB доступна по API:
curl http://michman_addr:michman_port/configs/couchdb
MariaDB
MariaDB - реляционная база данных с открытым исходным кодом. При помощи системы оркестрации Michman данный сервис может быть развернут в качетстве облачного хранилища. Конфигурационные параметры сервиса:
Следующий пример показывает запрос для развертывания в облаке СУБД MariaDB.
curl http://michman_addr:michman_port/projects/{ProjectID}/clusters -XPOST -d
'{
"DisplayName": "test",
"Services": [
{
"Name": "mariadb",
"Type": "mariadb",
"Config": {
"db_password": "secret"
}
}
],
"Image": "ubuntu21.04",
"NHosts": 1
}'
Полная и актуальная информация о поддерживаемых параметрах конфигурации и версиях сервиса CouchDB доступна по API:
curl http://michman_addr:michman_port/configs/mariadb
PostgreSQl
PostgreSQL это система управления реляционными базами данных (СУБД) с открытым исходным кодом, в которой особое внимание уделяется расширяемости и совместимости с SQL. Этот сервис можно было развернуть на узле хранения в облаке с помощью Michman.
На текущий момент в системе поддерживаются версии 9.6, 10, 11 and 12 PostgreSQL.
Параметр конфигурации сервиса postgresql включает:
Следующий пример показывает запрос для развертывания в облаке СУБД PostgreSQl.
curl http://michman_addr:michman_port/projects/{ProjectID}/clusters -XPOST -d
'{
"DisplayName": "my-cluster",
"Services": [
{
"Name": "postgresql-service",
"Type": "postgresql",
"Configs": {
"db_password": "secret"
}
}
],
"Image": "ubuntu",
"NHosts": 1
}'
Полная и актуальная информация о поддерживаемых параметрах конфигурации и версиях сервиса PostgreSQL доступна по API:
curl http://michman_addr:michman_port/configs/postgresql
Redis
Redis представляет собой хранилище структурных данных в памяти с открытым исходным кодом (под лицензией BSD), используемое в качестве базы данных, кеша и брокера сообщений. Этот сервис можно было развернуть на узле хранения в облаке с помощью Michman.
На текущий момент поддерживается версия latest Redis.
Параметр конфигурации сервиса redis включает:
Следующий пример показывает запрос для развертывания в облаке СУБД Redis.
curl http://michman_addr:michman_port/projects/{ProjectID}/clusters -XPOST -d
'{
"DisplayName": "my-cluster",
"Services": [
{
"Name": "redis-service",
"Type": "redis",
"Configs": {
"db_password": "secret"
}
}
],
"Image": "ubuntu",
"NHosts": 1
}'
Полная и актуальная информация о поддерживаемых параметрах конфигурации и версиях сервиса Redis доступна по API:
curl http://michman_addr:michman_port/configs/redis
Для сложных вычислительных задач и задач с обработкой больших данных могут использоваться такие приложения, как Apache Spark и Apache Hadoop, а также система управления заданиями и ресурсами Slurm.
Apache Spark и Apache Hadoop
Apache Spark это единый аналитический инструмент для обработки больших данных со встроенными модулями для потоковой передачи, SQL, машинного обучения и обработки графиков. Этот сервис может быть развернут в распределенном кластере виртуальных машин в облаке с помощью Michman.
Программная библиотека Apache Hadoop - это среда, которая реализует распределенную обработку больших объемов данных между кластерами компьютеров с использованием моделей программирования. Он предназначен для масштабирования от отдельных серверов до тысяч машин, каждая из которых предлагает локальные вычисления и хранение данных.
Мичман запускает Spark, подключенный к Hadoop, и поддерживает различные плагины Spark: Jupyter, Jupyterhub, Cassandra. Также его можно запустить с помощью диспетчера ресурсов YARN.
На текущий момент поддерживаются следующие версии Spark: 1.0.0, 1.0.1, 1.0.2, 1.1.0, 1.1.1, 1.2.0, 1.2.1, 1.2.2, 1.3.0, 1.3.1, 1.4.0, 1.4.1, 1.5.0, 1.5.1, 1.5.2, 1.6.0, 1.6.1, 1.6.2, 2.0.0, 2.0.1, 2.0.2, 2.1.0, 2.2.0, 2.2.1, 2.3.0.
Параметр конфигурации сервиса spark включает:
Следующий пример показывает запрос для создания кластера из трех узлов с сервисом Apache Spark в режиме YARN.
curl http://michman_addr:michman_port/projects/{ProjectID}/clusters -XPOST -d
'{
"DisplayName": "my-cluster",
"Services": [
{
"Name": "spark-service",
"Type": "spark",
"Version": "2.3.0",
"Configs": {
"use-yarn": "true"
}
}
],
"Image": "ubuntu",
"NHosts": 3
}'
Полная и актуальная информация о поддерживаемых параметрах конфигурации и версиях сервиса Apache Spark доступна по API:
curl http://michman_addr:michman_port/configs/spark
Slurm
Slurm - отказоустойчивая система распределения заданий и ресурсов на кластерах Linux и Unix-подобных ядер. При помощи системы оркестрации Michman диспетчер задач может быть развернут на виртуальном кластере. На данный момент развертывание Slurm доступно на базе операционной системы Ubuntu.
Поддерживается 2 версии сервиса. В зависимости от версии ОС устанвливается соответствующая версия Slurm: если ОС - ubuntu21.04, то Slurm version = slurm-wlm 20.11.4, соответственно ubuntu18.04 - slurm-wlm 17.11.2. Slurm может быть развернут с системой логирования и без нее, с файловой системой NFS и без нее. Для этого в запросе на создание кластера необходимо указать соответствующую версию: Slurm - развертываемая версия по умолчанию без дополнительных сервисов, Slurm-db - Slurm будет развернут с системой логирования, Slurm-nfs - Slurm будет настроен совместно с файловой системой NFS, Slurm-db-nfs - Slurm c системой логирования и файловой системой NFS. Предоставляется REST API интерфейс для взаимодействия с Slurm-кластером.
Параметры, доступные пользователю для изменения конфигурации развертываемого сервиса Slurm:
Пример запроса:
curl -H "X-SLURM-USER-NAME:root" -H "X-SLURM-USER-TOKEN:${SLURM_JWT}" http://{IP-адрес master-хоста}:6820/slurm/v0.0.36/ping
Примеры запросов предствлены здесь: https://app.swaggerhub.com/apis/rherrick/slurm-rest_api/0.0.35.
Следующий пример показывает запрос для создания Slurm-кластера из двух узлов с системой логирования и интерфейсом REST API:
curl http://michman_addr:michman_port/projects/{ProjectID}/clusters -XPOST -d
'{
"DisplayName":"test",
"Services":[{
"Name":"Slurm service",
"Type":"slurm",
"Version": "Slurm-db",
"Config":{
"use_rest": "true"
}
}],
"Description": "cluster",
"Image": "ubuntu21.04",
"NHosts": 2
}'
Полная и актуальная информация о поддерживаемых параметрах конфигурации и версиях сервиса Slurm доступна по API:
curl http://michman_addr:michman_port/configs/slurm
С Michman легко можно развернуть самые популярные веб-лаборатории для интерактивной разработки: Jupyter и Jupyterhub.
Jupyter
JupyterLab это интерактивная веб-среда разработки для ноутбуков Jupyter, кода и данных. JupyterLab отличается гибкостью: он имеет настраиваемый пользовательский интерфейс и может быть использован в широком спектре рабочих процессов в области науки о данных, научных вычислений и машинного обучения. Его можно развернуть на master-узле в облаке при помощи Michman.
На текущий момент поддерживается версия 6.0.1. Он также может быть развернут вместе с плагином Spark-connector.
Следующий пример показывает запрос для создания кластера из трех узлов с сервисом Jupyter.
curl http://michman_addr:michman_port/projects/{ProjectID}/clusters -XPOST -d
'{
"DisplayName": "my-cluster",
"Services": [
{
"Name": "jupyter-service",
"Type": "jupyter"
}
],
"Image": "ubuntu",
"NHosts": 3
}'
Полная и актуальная информация о поддерживаемых параметрах конфигурации и версиях сервиса Jupyter доступна по API:
curl http://michman_addr:michman_port/configs/jupyter
JupyterHub
JupyterHub предоставляет возможности ноутбуков Jupyter для группового использования. Он предоставляет пользователям доступ к вычислительным средам и ресурсам. Пользователи, в том числе студенты, исследователи и специалисты по данным, могут выполнять свою работу в своих собственных рабочих областях на общих ресурсах, которыми могут эффективно управлять системные администраторы.
На текущий момент поддерживается версия 1.3.0 Jupyterhub. Он также может быть развернут вместе с плагином Spark-connector.
Следующий пример показывает запрос для создания кластера из трех узлов с сервисом JupyterHub.
curl http://michman_addr:michman_port/projects/{ProjectID}/clusters -XPOST -d
'{
"DisplayName": "my-cluster",
"Services": [
{
"Name": "jupyterhub-service",
"Type": "jupyterhub"
}
],
"Image": "ubuntu",
"NHosts": 3
}'
Полная и актуальная информация о поддерживаемых параметрах конфигурации и версиях сервиса JupyterHub доступна по API:
curl http://michman_addr:michman_port/configs/jupyterhub
CVAT
CVAT это инструмент для интерактивной аннотации видео и изображений для задач компьютерного зрения.
На текущий момент поддерживается версия CVAT 1.7.0.
Параметр конфигурации сервиса cvat включает:
Примечание
Пароль суперпользователя необходимо указать на CVAT-узле при помощи следующей команды: «docker exec -it cvat bash -ic „python3 ~/manage.py createsuperuser“».
ледующий пример показывает запрос для создания сервиса CVAT.
curl http://michman_addr:michman_port/projects/{ProjectID}/clusters -XPOST -d
'{
"DisplayName": "my-cluster",
"Services": [
{
"Name": "cvat-service",
"Type": "cvat",
"Config":{
"username": "admin",
"email": "admin@admin.com"
}
}
],
"Image": "ubuntu20.04",
"NHosts": 0
}'
Полная и актуальная информация о поддерживаемых параметрах конфигурации и версиях сервиса CVAT доступна по API:
curl http://michman_addr:michman_port/configs/cvat
Michman предоставляет сервисы для удобной работы с данными в облаке.
NextCloud
Nextcloud представляет собой набор клиент-серверного программного обеспечения для создания и использования услуг хостинга файлов. Nextcloud является системой с открытым исходным кодом, что означает, что любой может установить и использовать его на своих частных серверных устройствах. Его можно развернуть на узле хранения в облаке с помощью Michman.
Параметр конфигурации для типа сервиса nextcloud включает следующие поля:
Следующий пример показывает запрос для создания кластера из трех узлов с сервисом Nextcloud.
curl http://michman_addr:michman_port/projects/{ProjectID}/clusters -XPOST -d
'{
"DisplayName": "my-cluster",
"Services": [
{
"Name": "nextcloud-service",
"Type": "nextcloud"
}
],
"Image": "ubuntu",
"NHosts": 3
}'
Полная и актуальная информация о поддерживаемых параметрах конфигурации и версиях сервиса Nextcloud доступна по API:
curl http://michman_addr:michman_port/configs/nextcloud
NFS Server
NFS (Network File Share) это протокол, который позволяет обмениваться каталогами и файлами с другими клиентами Linux в сети. Каталог для совместного использования обычно создается на сервере NFS, и файлы добавляются в него.
Клиентские системы монтируют каталог, находящийся на сервере NFS, который предоставляет им доступ к созданным файлам. NFS пригодится, если нужно поделиться общими данными между клиентскими системами, особенно когда им не хватает места.
Параметр конфигурации для типа сервиса nfs-server включает следующее поле:
Следующий пример показывает запрос для создания кластера из трех узлов с сервисом NFS Server.
curl http://michman_addr:michman_port/projects/{ProjectID}/clusters -XPOST -d
'{
"DisplayName": "my-cluster",
"Services": [
{
"Name": "nfs-server",
"Type": "nfs"
}
],
"Image": "ubuntu",
"NHosts": 3
}'
Полная и актуальная информация о поддерживаемых параметрах конфигурации и версиях сервиса NFS Server доступна по API:
curl http://michman_addr:michman_port/configs/nfs
Michman позволяет развернуть в облаке стандартный стек технологий для обработки и хранения логов.
Elasticsearch
Elasticsearch это поисковая система, основанная на библиотеке Lucene. Он предоставляет распределенную, многопользовательскую полнотекстовую поисковую систему с веб-интерфейсом HTTP и документами JSON без определенных схем. Его можно развернуть в распределенном кластере виртуальных машин в облаке с помощью Michman.
На текущий момент поддерживается версия 7.1.1 Elasticsearch.
Параметр конфигурации для типа сервиса elastic включает следующее поле:
Следующий пример показывает запрос для создания кластера из трех узлов с сервисом Elasticsearch.
curl http://michman_addr:michman_port/projects/{ProjectID}/clusters -XPOST -d
'{
"DisplayName": "my-cluster",
"Services": [
{
"Name": "elastic-server",
"Type": "elastic"
}
],
"Image": "ubuntu",
"NHosts": 3
}'
Полная и актуальная информация о поддерживаемых параметрах конфигурации и версиях сервиса Elasticsearch доступна по API:
curl http://michman_addr:michman_port/configs/elastic
Kubernetes
Kubernetes это открытое программное обеспечение для оркестрации контейнеризированных приложений — автоматизации их развёртывания, масштабирования и координации в условиях кластера.
На текущий момент поддерживаются следующие версии: v1.19.0, v1.19.1, v1.19.2, v1.19.3, v1.19.4, v1.19.5, v1.19.6, v1.19.7, v1.19.8, v1.19.9, v1.19.10, v1.20.0, v1.20.1, v1.20.2, v1.20.3, v1.20.4, v1.20.5, v1.20.6, v1.20.7.
Параметры конфигурации для типа сервиса kubernetes включают следующие поля:
network_plugin – CNI-плагин, отвечающий за конфигурацию оверлейной сети.
По умолчанию: calico
container_runtime – контейнерная среда выполнения, в которой будут развернуты все контейнеры.
По умолчанию: docker
enable_dashboard – определяет, будет ли установлен Kubernetes дэшборд UI.
enable_netchecker – определяет, будет ли установлен сервис `netchecker`_.
Чтобы получить последний отчет о подключении к сети в масштабе кластера, выполните с любого из узлов кластера:
curl http://<netchecker_service_ip>:31081/api/v1/connectivity_check
enable_helm – определяет, будет ли установлен пакетный менеджер helm.
enable_ingress_nginx – определяет, будет ли установлен nginx ingress контроллер.
Проверка:
kubectl get all -n ingress-nginx
enable_cinder_csi – определяет, будет ли установлен Cinder CSI плагин. С его помощью kubernetes может запрашивать долговременное хранилище для подов.
enable_keystone_auth – определяет, будет ли доступна Keystone Webhook аутентификация и авторизация.
Для доступа к kubernetes-кластеру через kubectl нужно: * Установить client-keystone-auth from GitHub * Указать пользовательскую конфигурацию в KUBECONFIG для того, чтобы этот клиент получил токен из Kubernetes
- name: your-user user: exec: command: path-to-client-keystone-auth apiVersion: client.authentication.k8s.io/v1beta1
Подробнее в документации k8s-keystone-auth.
Следующий пример показывает запрос для создания кластера из трех узлов с сервисом Kubernetes.
curl http://michman_addr:michman_port/projects/{ProjectID}/clusters -XPOST -d '{ "DisplayName": "k8s", "Image": "ubuntu18.04", "NHosts": 2, "Services": [ { "Name": "k8s", "Type": "kubernetes", "Version": "v1.20.7", "Config": { "network_plugin": "flannel", "container_runtime": "docker", "enable_dashboard": "true", "enable_helm": "true", "enable_ingress_nginx": "true", "enable_cinder_csi": "true", "enable_keystone_auth": "true", "keystone_admin_roles": "["member"]" } } ] }'
Полная и актуальная информация о поддерживаемых параметрах конфигурации и версиях сервиса Kubernetes доступна по API:
curl http://michman_addr:michman_port/configs/kubernetes