Руководство по конфигурациям CloudStack-UI

Конфигурирование системы можно осуществить путем добавления пользовательского файла конфигураций `config.json` с желаемыми параметрами во время разворачивания системы или во время разработки. В данном руководстве описаны основные настройки приложения, которые можно задать через пользовательский файл конфигураций.

Примечание

Значения пользовательских настроек имеют преимущество перед настройками, заданными по умолчанию, при условии, что значения указаны корректно. Правила валидации приведены в разделе для тех параметров, для которых они существуют.

Общие настройки

Базовый доменный URL

Позволяет задать доменный URL, который задается в поле Домен при входе в систему.

"defaultDomain": "domain"

Интервал обновления сессии

Позволяет установить период времени (в секундах) для обновления сессии:

"sessionRefreshInterval": 60,

Ссылка на документацию API

URL адрес документации API, который отображается в разделе «Настройки». По умолчанию ссылка ведет на официальную документацию Apache Cloudstack по API.

Пример конфигурации:

"apiDocLink": "https://cloudstack.apache.org/api/apidocs-4.11/"

Расширения

Данная настройка позволяет активировать плагины. По умолчанию все плагины выключены.

Пример конфигурации:

"extensions": {
 "webShell": true,
 "pulse": false
}

Подробнее о конфигурациях расширений см.:

  1. Плагин WebShell
  2. Плагин Pulse

Настройки виртуальных машин

Цвет ВМ

Позволяет задать набор цветов для обозначения виртуальных машин в шестнадцатиричном формате. Можно указать любые цвета по желанию.

"vmColors": [
 { "value": "#F44336" },
 { "value": "#E91E63" },
 { "value": "#9C27B0" },
 { "value": "#673AB7" },
 { "value": "#3F51B5" }
]

Настройки групп безопасности

Шаблоны группы безопасности

Позволяет создать предзаданные шаблоны для групп безопасности. Можно определить собственные группы безопасности, которые будут доступны по умолчанию для всех пользователей. По умолчанию предзаданных шаблонов нет.

Формат:

"securityGroupTemplates": [
   {
     "id": "templateTCP",
     "name": "TCP Permit All",
     "description": "Permits all TPC traffic",
     "preselected": true,
     "ingressrule": [
       {
         "ruleid": "9552c7e9-9421-4a16-8a09-00a6bab4aa5a",
         "protocol": "tcp",
         "startport": 1,
         "endport": 65535,
         "cidr": "0.0.0.0/0"
       }
     ],
     "egressrule": [
       {
         "ruleid": "dcaeefe0-0014-4431-b21d-db2e66f9162d",
         "protocol": "tcp",
         "startport": 1,
         "endport": 65535,
         "cidr": "0.0.0.0/0"
       }
     ]
   },
   {...}
]

Параметры:

  • id - уникальный идентификатор;
  • имя;
  • описание;
  • предвыбранные (true или false) - указывает, будут ли правила из данного шаблона автоматически применяться к новым машинам;
  • входящие и исходящие (соответственно ingressrule и egressrule):
  • ruleid: уникальный идентификатор;
  • protocol: „tcp“, „udp“ или „icmp“
  • cidr: маска подсети (e.g. 0.0.0.0/0);
  • Для TCP и UDP: startport и endport;
  • Для ICMP: icmpcode и icmptype.

Настройки образов

Группы шаблонов

Позволяет задать группы для сортировки источников установки (шаблоны и ISO).

Для группы шаблонов обязательным параметром является id и необязательными являются параметры перевода. Если параметры перевода не заданы, будет использован ID группы.

"imageGroups": [
  {
   "id": "id-234",
   "translations": {
     "ru": "Имя группы",
     "en": "Group Name"
   }
  }
]

Настройки пользователя

Название цветовой темы

Позволяет определить предпочитаемую цветовую тему UI. Доступны следующие значения:

"blue-red"
"indigo-pink"

По умолчанию спользуется тема blue-red:

"defaultThemeName": "blue-red"

Язык интерфейса

Позволяет задать язык интерфейса. Допустимые значения:

"en" (значение по-умолчанию)
"ru"

Например,

"defaultInterfaceLanguage": "en"

Формат времении

Позволяет задать формат времени: 12-часовой, 24-часовой или автоматически определяемый (в зависимости от языка интерфейса). Допустимые значения:

  • «auto» - значение зависит от языка интерфейса (значение по умолчанию),
  • «hour12» - 12-часовой формат,
  • «hour24» - 24-часовой формат.

Например,

"defaultTimeFormat": "hour24",

Первый день недели

Позволяет задать тип недели: „воскресенье - суббота“ или „понедельник - воскресенье“, указав первый день недели. Допустимые значения:

0 - воскресенье
1 - понедельник (значение по умолчанию)

Например,

"defaultFirstDayOfWeek": 0

Время сеанса

Позволяет задать максимальное количество времени в минутах, в течение которого сессия будет оставаться активной в отсутствие действий пользователя. По истечении этого времени пользователь автоматически покидает систему.

По умолчанию установлен период времени 30 минут.

Для отключения данной опции можно задать значение 0, но в этом случае сессия будет прервана на стороне сервера.

"sessionTimeout": 30

Настройки навигационной панели

Изменение порядка разделов в меню

Позволяет установить возможность/невозможность редактирования порядка разделов в навигационном меню слева.

"allowReorderingSidenav": false

Порядок разделов меню

Позволяет задать порядок и отображение в навигационной панели разделов меню в виде списка. Порядок и отображение элементов в навигационной панели определяется тем, в каком порядке элементы перечислены в массиве.

Элемент меню VMS нельзя спрятать, он всегда будет отображаться в навигационной панели. Можно только менять положение этого раздела в списке элементов.

Настройка доступна при активации опции изменения порядка разделов в меню ("allowReorderingSidenav": true). Должны быть перечислены все элементы навигационной панели.

Например:

"allowReorderingSidenav": true,
"configureSidenav": [
    { "id": "VMS", "visible": true },
    { "id": "VOLUMES", "visible": true },
    { "id": "TEMPLATES", "visible": true },
    { "id": "SNAPSHOTS", "visible": true },
    { "id": "SGS", "visible": true },
    { "id": "EVENTS", "visible": true },
    { "id": "SSH", "visible": true },
    { "id": "ACCOUNTS", "visible": true },
    { "id": "SETTINGS", "visible": true }
  ]

Настройки дисковых и вычислительных предложений

Доступность предложений

Позволяет задать предложения, доступные для определенных зон. Формат настройки :

"serviceOfferingAvailability": {
 "filterOfferings": true,
 "zones": {
   "zoneId": {
     "diskOfferings": ["offeringId1", "offeringId2"],
     "computeOfferings": ["offeringId3", "offeringId4"]
   }
  }
}

Если filterOfferings = false, все предложения доступны для всех зон. По умолчанию задано значени false.

Ограничения пользовательских предложений

Позволяет задать значения и ограничения по умолчанию для пользовательских предложений, используемых при создании ВМ. По умолчанию все вычислительные предложения имеют минимальные ограничения: «1» для ядер CPU, «1000» для скорости CPU, «512» для памяти. Максимальные значение не ограничены.

Пример конфигурации:

"customComputeOfferingParameters": [
 {
   "offeringId": "73cdef05-d01f-49ad-8ecb-4f2ffd7d8e26",
   "cpunumber": {
     "min": 2,
     "max": 8,
     "value": 4
   },
   "cpuspeed": {
     "min": 1000,
     "max": 3000,
     "value": 1500
   },
   "memory": {
     "min": 512,
     "max": 8192,
     "value": 512
   }
 }
]

Предзаданное вычислительное предложение

Данный параметр позволяет определить вычислительное предложение, которое будет автоматически задано для выбранной зоны при создании ВМ.

Пример конфигурации:

"defaultComputeOffering": [
 {
   "zoneId": "415db026-1135-496e-9383-0c820a75694e",
   "offeringId": "f216bd08-947a-4022-8271-c29e9acfffb9"
 }
]

Классы вычислительных предложений

При создании ВМ к списку вычислительных предложений можно применить группировку по классам. В данном блоке можно задать классы вычислительных предложений в следующем формате:

"computeOfferingClasses": [
   {
     "id": "classId-1",
     "name": {
       "ru": "Имя класса - 1",
       "en": "Class name - 1"
     },
     "description": {
       "ru": "Описание класса - 1",
       "en": "Class description - 1"
     },
     "computeOfferings": [
       "9c81af12-f15b-41f0-9dec-2a837e1dec29"
     ]
   },
   {
     "id": "classId-2",
     "name": {
       "ru": "Имя класса - 2",
       "en": "Class name - 2"
     },
     "description": {
       "ru": "Описание класса - 2",
       "en": "Class description - 2"
     },
     "computeOfferings": [
       "9c81af12-f15b-41f0-9dec-2a837e1dec29"
     ]
   }
  ]

Для каждого класса необходимо указать уникальный id, название, описание и список id вычислительных предложений, относящихся к данному классу. Название и описание необходимо локализовать в соответствии с используемыми языками.

Параметры дисковых предложений

Позволяет установить параметры дисковых предложений, отображаемых в таблице дисковых предложений.

Например,

"diskOfferingParameters": [
 "displaytext",
 "disksize",
 "created"
 "storagetype",
 "provisioningtype",
 "iscustomized",
 "miniops"
 "maxiops"
]

Политика совместимости предложений

Позволяет установить тип сравнения и игнорирования тегов ВМ при изменении вычислительных предложений из одного кластера на вычислительные предложения другого кластера:

"offeringCompatibilityPolicy": {
 "offeringChangePolicy": "exactly-match",
 "offeringChangePolicyIgnoreTags": ["t1"]
}