Генерация цифрового двойника#

Предусловия#

Данный раздел определяет базовые требования, необходимые для корректной генерации цифрового двойника в системе WLDT.

Источники данных для моделирования#

С версии 6.5.0 в WLDT список доступных namespace и deployment для генерации цифровых двойников формируется напрямую через KubeAPI с учетом прав пользователя, определенных в RBAC.

Это означает, что:

  • Список ресурсов (namespace/deployment) отражает фактически доступные объекты в Kubernetes-кластере.

  • Данные больше не зависят исключительно от наличия метрик в хранилище.

  • Учитываются ограничения прав доступа (RBAC).

Такой подход обеспечивает:

  • Актуальность списка сервисов при создании цифрового двойника.

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

Последовательность выполнения#

  1. Введите namespace, deployment и временной промежуток в соответствующие поля для того, чтобы сгенерировать цифровой двойник.

main

Рис.1 - Поля namespace, deployment и временной промежуток

В результате будет выведено несколько графиков:

График TPS

main

Рис.2 - График TPS

График CPU utilization

main

Рис.3 - График CPU utilization

График Memory utilization

main

Рис.4 - График Memory utilization

График Memory utilization by container

main

Рис.5 - График Memory utilization by container

График Memory utilization by pod

main

Рис.6 - График Memory utilization by pod

График CPU utilization by container

main

Рис.7 - График CPU utilization by container

График CPU utilization by pod

main

Рис.8 - График CPU utilization by pod

  1. Нажмите кнопку «Рассчитать», чтобы получить съем цифрового двойника в формате json, который в дальнейшем можно добавить и использовать в секции «Моделирование».

  2. Введите в появившейся форме значения в полях «Имя/название файла» и «Версия» для того, чтобы можно было скачать цифровой двойник.

main

Рис.9 - Форма для скачивания съема цифрового двойника

Теперь сохраненный файл в формате json можно использовать при моделировании.

Полученный json файл выглядит следующим образом:

{
  "approximation": {
    "name": "",
    "r2_score": 0.9796731441312629,
    "r2_score_memory": 0.9789360288120514,
    "degree": 6,
    "degree_memory": 10,
    "equation": "y = 0.0221816948 + 0.0000013263 * tps + 0.0000568679 * tps^2 + -0.0000004228 * tps^3 + 0.0000000005 * tps^4 + 0.0000000000 * tps^5 + -0.0000000000 * tps^6",
    "equation_memory": "y = 0.2701312423 + -0.0000000000 * tps + -0.0000000000 * tps^2 + -0.0000000000 * tps^3 + -0.0000000000 * tps^4 + -0.0000000000 * tps^5 + -0.0000000000 * tps^6 + 0.0000000000 * tps^7 + -0.0000000000 * tps^8 + 0.0000000000 * tps^9 + -0.0000000000 * tps^10",
    "coefficients": {
      "intercept": 0.02218169479247728,
      "coefs": [
        0.0000013263107128374382,
        0.00005686786019293551,
        -4.2281991811920654e-7,
        4.599485817999983e-10,
        3.2127683353493794e-12,
        -6.671397928740846e-15
      ]
    },
    "coefficients_memory": {
      "intercept": 0.27013124227495816,
      "coefs": [
        -1.3444490059128825e-24,
        -4.805880138623398e-18,
        -2.3148113685393126e-20,
        -2.8833059672977185e-18,
        -2.4422945536707337e-16,
        -1.2583357209886019e-14,
        2.2801837255554577e-16,
        -1.4674739360802765e-18,
        4.0357973621421746e-21,
        -4.024080257273628e-24
      ]
    },
    "data_bounds": {
      "tps_min": 14.700000000000001,
      "tps_max": 339.3333333333333,
      "cpu_min": 0.03,
      "cpu_max": 0.46,
      "memory_min": 0.27,
      "memory_max": 0.51,
      "tps_memory_min": 14.700000000000001,
      "tps_memory_max": 339.3333333333333
    }
  },
  "name": "example-twin",
  "version": "1"
}   
  1. Выберите контейнер, если вы хотите проанализировать его поведение (опционально).

Например, выберем контейнер wldt-stub.

main

Рис.10 - Выбор контейнера wldt-stub

В данном случае мы можем увидеть изменения на графике CPU utilization:

main

Рис.11 - График CPU utilization до выбора контейнера wldt-stub

main

Рис.12 - График CPU utilization после выбора контейнера wldt-stub

Результат#

В ходе выполнения данных шагов пользователь получает файл в формате json, который содержит данные съема цифрового двойника.

Для проверки успешности использования генерации цифрового двойника необходимо:

  1. Выполнить шаг 1-3.

  2. Выполните шаг 4 (опционально).

Правила эксплуатации#

Особых правил эксплуатации не предусмотрено.

Cценарий не предусматривает загрузку и выгрузку данных (журналы событий, база пользователей, атрибуты доступа, ролевая модель и т. д.) в/из внешних источников (сервисы, автоматизированные системы и т.д.).