Использование приложения оператором#

Ролевая модель#

Роль

Права

Набор доступных функций

Оператор
Редактор

Получить файлы GlobalRateLimit (далее GRL) из пространства имен (namespace) кластера

Оператор
Редактор

Просмотреть список endpoint из файлов GRL с группировкой по endpoint или shortname

Оператор
Редактор

Просмотреть конфигурацию файла GRL полностью или конфигурацию выбранного endpoint

Оператор
Редактор

Выгрузить yaml

Редактор

Добавить/изменить/удалить существующий параметр квоты потребления трафика в файле GRL

* без КВР,
* с КВР,
* с КВР и номером инцидента

Редактор

Добавить/удалить блок параметров конфигурации квоты потребления трафика в файле GRL

* без КВР,
* с КВР,
* с КВР и номером инцидента

Редактор

Добавить/удалить блок параметров конфигурации endpoint в файле GRL

* без КВР,
* с КВР,
* с КВР и номером инцидента

Редактор

Произвести контроль второй руки (далее КВР)

* с КВР,
* с КВР и номером инцидента

Стартовая страница#

Вход на консоль SMCX осуществляется через браузер на ее стартовой странице через форму IAM (СУДИР).

Введите учетные данные и нажмите кнопку «Вход».

При успешной авторизации пользователю станет доступен вход во все модули консоли SMCX.

Модуль «Rate Limit»#

Модуль «Rate Limit» - инструмент для управления конфигурацией настроек квотирования потребления трафика GlobalRateLimit из namespace в кластерах, к которым пользователь имеет доступ. Пользователь может посмотреть настройки квотирования по каждому endpoint в удобном человекочитаемом формате и в виде yaml-конфига.

Для входа в модуль необходимо нажать на иконку на панели консоли SMCX. При этом откроется форма получения фалов GRL из пространств имен (namespace) в кластерах.

Для получения данных из конфигов GlobalRateLimits выполните следующие действия:

  1. В полях Cluster и Namespace выберите из выпадающих списков значения, которые соответствуют требуемому кластеру и находящемуся на нем пространство имен (namespace), с которыми вам необходимо работать. Если необходимо получить конфигурации GlobalRateLimit из нескольких пространств имен (namespace), то нажмите на кнопку «Добавить». При этом появится еще одна пара полей «Cluster» и «Namespace». В любой момент лишнюю пару полей можно удалить, нажав на кнопку «Удалить».

  1. Нажмите кнопку «Получить». При этом произойдет подключение к выбранным пространствам имен (namespace) в кластерах и получение всех файлов GRL. Если указаны правильные названия Cluster и Namespace , то в этой строке отобразится зеленая галочка, иначе отобразится красный восклицательный знак. При этом надо проверить правильность заполненных полей и повторно нажать кнопку «Получить».

  1. Если все поля заполнены верно, и вы уверены, что указали все namespace, из которых необходимо получить конфигурации настроек, то нажмите кнопку «Продолжить». При этом откроется форма со списком endpoint, полученных из файлов GRL всех пространств имен (namespace) кластеров.

Форма «Список endpoint»#

Форма «Список endpoint» имеет следующий вид:

На форме присутствует список точек подключения (endpoint), сгруппированных по краткому названию (shortname), которые были получены из пространств имен (namespace) с разных кластеров. При раскрытии группировки можно увидеть следующую информацию по точке подключения (endpoint):

  • Name - название, по клику из которого можно перейти на форму детальных настроек квотирования данной точки подключения (endpoint), представленных в человекочитаемом формате.

  • Endpoint - текущая точка подключения к сервису поставщика.

  • Cluster - кластер, где находится пространство имен (namespace).

  • Namespace - пространство имен, откуда получена конфигурацию настроек в файле GRL, из которого извлечена текущая точка подключения (endpoint).

  • YAML - поле, по клику из которого можно перейти в yaml-конфиг настроек квотирования данной точки подключения (endpoint).

  • Подключений - в данном поле указано количество именованных потребителей, указанных в настройках квотирования текущей точки подключения (endpoint)(блок invokers/tenants). Если у точки подключения (endpoint) есть потребители, то при клике по их числу в правой части экрана в блоке Invokers/Tenants отобразятся все его именованные потребители.

  • Файл GRL - поле, по клику из которого можно перейти в yaml-конфиг настроек квотирования данного файла GRL.

На форме присутствует выбор поля группировки: по Endpoint, по Shortname. При выборе группирующего поля его значение будет отображаться как группирующий элемент, а оставшееся поле войдет в состав информации о точке подключения (endpoint).

Для усечения списка при поиске нужной выборки пользователь может применить фильтры по вхождению или по равенству к следующим полям, присутствующим в структуре yaml-конфига:

  • По всем полям

  • Name

  • Shortname

  • Endpoint

  • byHeader.header

  • byHeader.header_value - поиск по именованному потребителю.

  • byPath.name - поиск по именованному потребителю.

  • byPath.resourceName - поиск по именованному потребителю.

Для фильтрации списка точек подключения (endpoint) выполните следующие действия:

  1. Выберите из открывающего списка «Поиск по» поле, по которому требуется осуществить поиск. Есть возможность провести поиск по всем полям структуры yaml-конфига, для этого нужно выбрать вариант «По всем полям».

  2. Укажите способ поиска, выбрав из выпадающего списка значение в поле «Операция» из значений «По вхождению» (контекстный поиск по части значения), «По равенству» (поиск по полному совпадению).

  3. Введите требуемое значение в поле поиска.

  4. Нажмите кнопку «Искать».

Для удаления фильтров и возвращения списка к полному виду нажмите кнопку «Сбросить».

Дополнительные фильтры по ошибкам в конфигурации:

  1. Пользователь может осуществить поиск ошибок по status. Для этого необходимо в поле «Поиск ошибок по status» выставить флаг и нажать кнопку «Искать».

В GlobalRateLimit присутствует секция status.

Пример секции status:

status:

applied: true

message: success

operator_version: 'r4.5.0:06828ace'

statuses:

- name: EnvoyFilter automation disabled

reason: SKIPPED

status: OK

- name: ratelimiter

reason: success

status: OK

Поиск ошибок по status производит поиск секции status, где в секции statuses все элементы должны быть с status: OK.

Если нет секции status или статусы не равны OK, то endpoint попадает в результат поиска.

  1. Пользователь может осуществить поиск по endpoint, у которых в конфигурации не указан порт. Для этого необходимо в поле «Поиск ошибок по endpoint» выставить флаг и нажать кнопку «Искать».

Пример endpoint с ошибкой:

endpoints:

- endpoint: my-service.my-domain

Форма «YAML»#

Перейти в yaml-конфиг настроек квотирования endpoint можно по клику на ссылку в поле «YAML» формы «Список endpoint».

На форме находится редактор для yaml-конфиг в режиме просмотра. Пользователь может воспользоваться поиском по тексту, который осуществляется стандартными средствами браузера. Существует возможность сохранить данный yaml-конфиг в файл, нажав на кнопку «Экспорт YAML».

Для возвращения к списку точек подключения (endpoint) необходимо кликнуть на нужный элемент ссылки хлебных крошек на форме сверху.

Форма «Детали сервиса»#

Перейти в «Детали сервиса» точки подключения (endpoint) можно по клику на ссылку в поле «Name» формы «Список endpoint» в развернутой строке информации по точке подключения (endpoint).

На форме находятся параметры квотирования, представленные в виде отдельных блоков:

  • сверху находится блок общих настроек квотирования по endpoint,

  • снизу вкладки с блоками настроек квотирования по заголовкам, по заголовкам и префиксам/методам, по PATH. На вкладках также перечислены настройки квотирования для именованных потребителей.

На этих вкладках также данные представлены в виде общих настроек и настроек по именованным потребителям точки подключения (endpoint).

При наведении на поле «Расписание действия квоты» появляется всплывающее сообщение с указанием параметров, которые описывают расписание работы квоты в более наглядном виде.

При клике по полю «Идентификатор ограничения размера тела сообщения» происходит переход на форму со справочником, который показывает параметры квотирования по размеру передаваемого сообщения.

Для возвращения на форму со списком endpoint необходимо кликнуть на нужный элемент ссылки хлебных крошек на форме сверху.

Использование приложения редактором#

Редактору доступны все функции, доступные оператору. Кроме этого редактору доступна функция редактирования файла GRL, согласование КВР произведенных изменений в конфиге файла GRL.

КВР - это механизм двухступенчатого контроля за изменениями, осуществяющийся автором изменений и согласующим вторым лицом (с ролью Редактор), отличным от автора. Согласующий может подтвердить КВР или отклонить его. При согласовании КВР изменения будут применены к файлу GRL в пространстве имен кластера. При отклонении КВР изменения применены не будут, изменения конфига в консоли SMCX будут сброшены.

Существует три типа набора доступных функций, которые относятся к разным типам безопасности при изменении конфигурации файла GRL. Тип набора доступных функций задается в стендозависимых параметрах приложения при установке консоли SMCX.

  1. Редактирование конфигурации файла GRL с сохранением изменений в пространстве имен кластера без КВР (соответствует ИФТ/DEV/НТ).

  2. Редактирование конфигурации файла GRL с сохранением изменений в пространстве имен кластера с КВР (соответствует ПСИ).

  3. Редактирование конфигурации файла GRL с сохранением изменений в пространстве имен кластера с КВР и вводом номера инцидента (соответствует ПРОМ).

Также существует время жизни КВР, которое задается во время создания задачи КВР. Автор изменений может задать время жизни КВР (мин), в течение которого согласующий должен согласовать КВР. Иначе изменения конфига в консоли SMCX будут сброшены автоматически.

На редактирование задается в стендозависимых параметрах приложения ограниченное количество времени (мин), которое можно продлить, нажав на кнопку «Ок» в окне уведомления. Иначе редактирование будет отменено, все изменения будут сброшены.

Редактирование конфига файла GRL#

Для начала редактирования файла GRL выполните следующие действия:

  1. На форме «Список endpoint» выберите точку подключения (endpoint), параметры квотирования трафика потребления которой необходимо отредактировать.

  2. Откройте сгруппированное поле выбранной точки подключения (endpoint). При этом откроется список строк разных кластеров, сгруппированных в данном поле.

  3. Кликните на ссылку в поле «Файл GRL» нужного кластера. При этом откроется форма YAML-редактора выбранного файла GRL.

  4. Нажмите кнопку «Редактировать». При этом файл GRL будет заблокирован от редактирования другими пользователями.

  5. Переходите к внесению изменений в конфиге файла GRL.

  6. После завершени изменений создайте задачу на КВР (или сохраните изменения) с помощью кнопки «Создать задачу КВР (Сохранить»).

Следующие действия должен совершать другой пользователь с ролью Редактор и правами на то же пространство имен кластера, отличный от автора изменений.

  1. Зайдите на форму «Задачи на КВР». Это можно сделать, нажав на кнопку «Задачи на КВР» на форме «Список endpoint».

  2. В открывшемся журнале найдите нужный файл GRL и кликните на поле «Файл GRL» (или «Сравнение версий»). При этом произойдет переход на форму с двумя YAML-конфигами файла GRL.

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

  4. Нажмите одну из кнопок: «Подтвердить КВР» или «Отклонить КВР». При этом откроется уведомление о начале процесса согласования.

  5. Введите комментарий (при необходимости) и нажмите кнопку «Подтвердить КВР» или «Отклонить КВР». В случае подтверждения произойдет применение изменений в файл GRL в пространстве имен кластера. В случае отклонения все изменения сбросятся, файл GRL в YAML-редакторе вернется к исходному виду.

Примечание.

Если тип набора доступных функций соответствует «КВР и ввод номера инцидента» (ПРОМ), то при нажатии на кнопку «Редактировать» отобразится уведомление с полем для обязательного ввода номера инцидента.

Форма YAML-редактора файла GRL#

Форма «YAML-редактора файла GRL» имеет следующий вид:

На форме присутствует YAML-редактор, в котором открыт конфиг файла GRL. YAML-редактор находится в режиме просмотра.

На форме присутствуют следующие кнопки:

  • Редактировать - кнопка активная, когда файл GRL не редактируется другим пользователем. При нажатии на кнопку происходит блокировка файла GRL и переход YAML-редактора в режим редактирования. После этого кнопка меняется на «Сбросить изменения».

  • Создать задачу КВР (Сохранить) - кнопка неактивна, пока пользователь не внес изменения в режиме редактирования.

  • Экспорт YAML - кнопка сохранения текущего конфига в yaml-файл с учетом изменений во время редактирования.

  • Обновить форму - кнопка обновления конфига в YAML-редакторе с учетом текущего состояния: согласования КВР и блокировок другими пользователями.

После нажатия кнопки «Редактировать» форма «YAML-редактора файла GRL» имеет следующий вид:

На форме присутствуют два YAML-конфига:

  • левая часть - YAML-редактор в режиме редактирования. Изменения, произведенные пользователем, выделены зеленым цветом;

  • правая часть - YAML-редактор, отображает первоначальный YAML-конфиг. Отредактированные в левой части строки, в правой части отображают первоначальные значения и выделены красным цветом.

На форме присутствуют следующие кнопки:

  • Сбросить изменения - кнопка сброса сделанных изменений. При нажатии на кнопку все изменения сбросятся, файл GRL в YAML-редакторе вернется к исходному виду.

  • Создать задачу КВР (Сохранить) - кнопка отправки изменений на КВР. С помощью этой кнопки пользователь создает задачу КВР, тем самым переводит изменения в YAML-конфиге файла GRL на согласование КВР.

  • По сочетанию Ctrl+F непосредственно на поле YAML-конфига можно открыть встроенный поиск.

Примечание.

Если тип набора доступных функций соответствует «Без КВР» (ИФТ/DEV/НТ), то вместо кнопки «Создать задачу КВР» на форме присутствует кнопка «Сохранить». При нажатии на эту кнопку происходит применение изменений сразу в файл GRL в пространстве имен кластера.

После нажатия на кнопку «Создать задачу КВР» форма имеет следующий вид:

YAML-редактор находится в режиме просмотра. На форме указано, что YAML-конфиг недоступен для редактирования, он изменен инициатором и находится на КВР до определенного времени, по истечении которого все сделанные изменения сбросятся.

На форме присутствует следующая кнопка:

  • Отменить изменения - кнопка, при нажатии на которую задача КВР переходит в статус «Отменена инициатором» и все сделанные изменения сбрасываются до первоначального вида.

Форма «Задачи на КВР»#

Форма «Задачи на КВР» имеет следующий вид:

На форме присутствуют следующие кнопки:

  • Обновить форму - кнопка обновления формы;

  • Фильтр - при нажатии на кнопку открывается форма с возможностью выбора для поиска любого столбца формы.

Форма «Задачи на КВР» имеет следующие столбцы:

  • Кластер - кластер, на котором находится пространство имен (namespace).

  • Namespace - пространство имен, откуда получен файл GRL.

  • Файл GRL - поле, по клику из которого можно перейти в YAML-конфиг данного файла GRL.

  • Сравнение версий - поле, по клику на которое открывается форма сравнения YAML-конфигов файла GRL до и после редактирования.

  • Время создания - поле, в котором отображено время создания задачи на КВР (время всегда соответствует тайм-зоне Москва).

  • Ожидает подтверждения - поле, в котором отображено время завершения ожидания КВР (время всегда соответствует тайм-зоне Москва). При наступлении этого времени все изменения будут сброшены, Файл GRL вернется к исходному виду.

  • Инициатор - поле, в котором указан автор изменений YAML-конфига файла GRL.

  • Статус - поле, в котором указан статус задачи на КВР: Успешно выполнена, Отклонена системой, Ошибка выполнения, Отклонена, Отменена инициатором.

  • Подтвердивший/Отклонивший - поле, в котором указан согласующий КВР.

  • Комментарий - поле, в котором отображается комментарий, оставленный во время КВР согласующим или системой.

  • Номер инцидента - для типа набора функций «С КВР и вводом номера инцидента (соответствует ПРОМ), поле, в котором отображается номер инцидента.

Форма «Сравнение версий»#

Форма «Сравнение версий» имеет следующий вид:

На форме присутствуют следующие кнопки:

  • Подтвердить КВР - кнопка, при нажатии на которую произойдет применение изменений в файл GRL в пространстве имен кластера.

  • Отклонить КВР - кнопка, при нажатии на которую все изменения сбросятся, файл GRL в YAML-редакторе вернется к исходному виду.