Моделирование работоспособности для критически важных рабочих нагрузок

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

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

Моделирование здоровья можно расширить на следующие операционные задачи для критически важного развертывания:

  • Служба контроля работоспособности приложения — компонент приложения в вычислительном кластере, предоставляющий API для определения работоспособности системы.

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

  • Оповещения — действенные оповещения о проблемах и сбоях в инфраструктуре и приложении.

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

Эти задачи составляют комплексную модель работоспособности для критически важной инфраструктуры. Разработка модели здоровья может и должна быть исчерпывающей и неотъемлемой частью любого критически важного развертывания.

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

Служба контроля состояния приложения

Служба работоспособности приложения (HealthService) — это компонент приложения, который взаимодействует с службой каталогов (CatalogService) и фоновым процессором (BackgroundProcessor) в рамках вычислительного кластера. Служба HealthService предоставляет REST API для вызова Azure Front Door для определения работоспособности метки. HealthService — это сложный компонент, который отражает состояние зависимостей, помимо собственного.

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

  • Он пытается выполнить запрос к Azure Cosmos DB.

  • Она пытается отправить сообщение в Центры событий. Фоновый рабочий процесс фильтрует сообщение.

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

  • Он запрашивает модель работоспособности, чтобы определить, находятся ли все операционные метрики в предопределенных пороговых значениях. Если модель работоспособности показывает, что метка неработоспособна, трафик не должен направляться к метке, даже если другие тесты HealthService прошли успешно. Модель работоспособности принимает более полное представление о состоянии работоспособности.

Все результаты проверки работоспособности кэшируются в памяти для настраиваемого количества секунд по умолчанию 10. Эта операция потенциально добавляет небольшую задержку при обнаружении сбоев, но она гарантирует, что не каждый запрос HealthService требует внутренних вызовов, что снижает нагрузку на кластер и подчиненные службы.

Этот шаблон кэширования важен, так как количество запросов к Службе здоровья значительно увеличивается при использовании глобального маршрутизатора, такого как Azure Front Door: каждый пограничный узел в каждом центре обработки данных Azure, который обрабатывает запросы, обращается к Службе здоровья, чтобы определить, имеет ли он функционирующее внутреннее подключение. Кэширование результатов снижает дополнительную нагрузку на кластер, созданную проверками работоспособности.

Настройка

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

Настройки Значение
HealthServiceCacheDurationSeconds Управляет временем истечения срока действия кэша памяти в секундах.
HealthServiceStorageConnectionString Строка подключения для учетной записи хранения, в которой должен присутствовать файл состояния.
HealthServiceBlobContainerName Контейнер хранилища, в котором должен присутствовать файл состояния.
HealthServiceBlobName Имя файла состояния; проверка системы ищет этот файл.
HealthServiceOverallTimeoutSeconds Время ожидания для всей проверки по умолчанию - 3 секунды. Если проверка не завершится в этом интервале, служба сообщает о нездоровом статусе.

Внедрение

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

Результаты проверки кэшируются в памяти с помощью стандартного недистрибуированного ASP.NET Core MemoryCache. SysConfig.HealthServiceCacheDurationSeconds управляет истечением срока действия кэша. Значение по умолчанию — 10 секунд.

Примечание.

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

В следующей таблице описаны проверки работоспособности компонентов в инфраструктуре:

Компонент Проверка состояния здоровья
Учетная запись для Blob-хранилища В настоящее время проверка блоба служит двумя целями:
1. Проверьте, можно ли достичь Хранилище BLOB-объектов. Учетная запись хранения используется другими компонентами в инфраструктуре и считается критически важным ресурсом.
2. Вручную "отключите" регион, удалив файл состояния.
Было принято решение, что проверка будет только проверять наличие файла состояния в указанном контейнере BLOB. Содержимое файла не обрабатывается. Существует возможность настроить более сложную систему, которая считывает содержимое файла и возвращает другое состояние в зависимости от содержимого файла.
Примерами содержимого являются ЗДОРОВЫЕ, НЕЗДОРОВЫЕ и ПОДДЕРЖАНИЕ.
удаление файла состояния отключает использование метки. Убедитесь, что файл статуса работоспособности присутствует после развертывания приложения. Отсутствие файла состояния здоровья приводит к тому, что служба всегда реагирует на НЕРАБОТОСПОСОБНО. Front Door не распознает серверную часть как доступную.
Terraform создает файл, который должен существовать после развертывания инфраструктуры.
Концентратор событий Мониторинг состояния Центров событий обрабатывает EventHubProducerService. Эта служба считается работоспособной, если она может отправить новое сообщение в Центры событий. Для фильтрации к этому сообщению добавлено идентифицирующее свойство:
HEALTHCHECK=TRUE
. Это сообщение игнорируется на стороне получателя. Параметр AlwaysOn.BackgroundProcessor.EventHubProcessorService.ProcessEventHandlerAsync() конфигурации проверяет наличие HEALTHCHECK свойства.
Azure Cosmos DB Azure Cosmos DB отчет о состоянии обрабатывает CosmosDbService, который сообщает о работоспособности, если:
1. Возможность подключаться к базе данных Azure Cosmos DB и выполнять запрос.
2. Возможность записи тестового документа в базу данных.
У тестового документа установлено короткое время жизни. Azure Cosmos DB автоматически удаляет его.
Служба HealthService выполняет два отдельных запроса. Если Azure Cosmos DB находится в состоянии, где операции чтения работают и записи не выполняются, эти две пробы обеспечивают активацию оповещения.

запросы Azure Cosmos DB

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

SELECT GetCurrentDateTime ()

Запрос записи создает заполнитель ItemRating с минимальным содержимым:

var testRating = new ItemRating()
{
    Id = Guid.NewGuid(),
    CatalogItemId = Guid.NewGuid(), // Create some random (=non-existing) item id
    CreationDate = DateTime.UtcNow,
    Rating = 1,
    TimeToLive = 10 // will be auto-deleted after 10sec
};

await AddNewRatingAsync(testRating);

Наблюдение

Azure Log Analytics используется в качестве центрального хранилища для журналов и метрик для всех компонентов приложения и инфраструктуры. приложение Azure Insights используется для всех данных мониторинга приложений. Каждая метка в инфраструктуре имеет выделенную рабочую область Log Analytics и экземпляр Application Insights. Отдельная Log Analytics рабочая область используется для глобальных общих ресурсов, таких как Front Door и Azure Cosmos DB.

Все марки недолговечны и постоянно заменяются с каждым новым выпуском. Рабочие области Log Analytics, соответствующие каждой метке, развертываются как глобальный ресурс в отдельной группе ресурсов мониторинга, как это делается для ресурсов Log Analytics метки. Эти ресурсы не имеют общий жизненный цикл с штампом.

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

Мониторинг: источники данных

  • Diagnostic settings: Настройте все службы Azure, используемые для критически важных рабочих нагрузок, для отправки всех диагностических данных, включая журналы и метрики, в рабочую область Log Analytics, относящуюся к конкретному развертыванию (глобальному или локальному). Этот процесс должен происходить автоматически как часть инфраструктуры в качестве развертывания кода. Новые параметры должны быть определены автоматически и добавлены в составе обновлений инфраструктуры.

  • Kubernetes мониторинг: параметры диагностики используются для отправки журналов и метрик службы Azure Kubernetes (AKS) в Log Analytics. AKS настраивается для использования Container Insights. Container Insights развертывает OMSAgentForLinus с помощью DaemonSet Kubernetes на каждом узле в кластерах AKS. OMSAgentForLinux может собирать дополнительные журналы и метрики из кластера Kubernetes и отправлять их в соответствующую рабочую область Log Analytics. Эти дополнительные логи и метрики содержат более детализированные данные о модулях, развертываниях, службах и общей работоспособности кластера. Чтобы получить больше аналитических сведений от различных компонентов, таких как ingress-nginx, cert-manager и другие компоненты, развернутые в Kubernetes рядом с критически важной рабочей нагрузкой, можно использовать сбор данных Prometheus. Конфигурация сбора данных Prometheus настраивает OMSAgentForLinux для сбора метрик Prometheus с различных конечных точек в кластере.

  • мониторинг данных с помощью Application Insights: Application Insights используется для сбора и мониторинга данных из приложения. Код подготовлен для сбора данных о производительности приложения с помощью Azure Monitor OpenTelemetry Distro. Собираются критически важные сведения, такие как результирующий код состояния, длительность вызовов зависимостей, и счетчики необработанных исключений. Эта информация используется в модели работоспособности и доступна для оповещения и устранения неполадок.

Мониторинг: тесты на доступность в Application Insights

Для мониторинга доступности отдельных штампов и общего решения с внешней точки зрения тесты доступности Application Insights настраиваются в двух местах.

  • Региональные тесты доступности: эти тесты настраиваются в региональных экземплярах Application Insights и используются для мониторинга доступности меток. Эти тесты направлены непосредственно на кластеры и статические учетные записи хранения стемпов. Чтобы обратиться к точкам входа в кластеры напрямую, запросы должны содержать правильный заголовок "Front Door ID", в противном случае ингресс-контроллер отклоняет запросы.

  • Глобальный тест на доступность: Эти тесты настраиваются в глобальном экземпляре Application Insights и используются для мониторинга доступности всего решения посредством опроса Front Door. Используются два теста: один для тестирования вызова API к CatalogService и один для проверки домашней страницы веб-сайта.

Мониторинг: запросы

Azure Mission-Critical использует различные запросы языка запросов Kusto (KQL) для реализации пользовательских запросов в качестве функций для получения данных из Log Analytics. Эти запросы хранятся в виде отдельных файлов в нашем репозитории кода, разделённых на глобальные и маркированные развертывания. Они импортируются и применяются автоматически через Terraform в рамках каждого запуска конвейера инфраструктуры.

Этот подход отделяет логику запроса от слоя визуализации. Запросы Log Analytics вызываются непосредственно из кода, например из API HealthService. Другим примером является средство визуализации, такое как Azure Dashboards, Monitor Workbooks или Grafana.

Мониторинг: визуализация

Мы используем Grafana для визуализации результатов проверок состояния анализа журналов Log Analytics. Grafana показывает результаты Log Analytics запросов и не содержит логики. Мы выпускаем стек Grafana отдельно от жизненного цикла развертывания решения.

Дополнительные сведения см. в разделе "Визуализация".

Оповещение

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

Эти оповещения образуют расширение модели работоспособности, оповещав оператора об изменении состояния работоспособности, либо на пониженное или желтое состояние, либо на неработоспособное или красное состояние. Задав оповещение для корневого узла модели работы, оператор немедленно узнаёт о любом влиянии на бизнес-уровне, которое сказывается на состоянии решения. Ведь этот корневой узел станет жёлтым или красным, если любой из используемых потоков пользователей или ресурсов сообщает о жёлтых или красных метриках. Оператор может направить свое внимание на визуализацию модели работоспособности для устранения неполадок.

Дополнительные сведения см. в статье "Автоматизированное реагирование на инциденты".

Анализ отказов

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

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

Услуга Риск Влияние/Смягчение/Комментарий Перебой
Microsoft Entra ID Microsoft Entra ID становится недоступным. В настоящее время нет возможных мер по устранению рисков. Подход с несколькими регионами не устраняет никаких сбоев, так как это глобальная служба. Эта служба является жесткой зависимостью. Microsoft Entra ID используется для операций уровня управления, таких как создание новых узлов AKS, извлечение образов контейнеров из ACR или для доступа к Key Vault при запуске pod. Существующие, выполняющиеся компоненты должны поддерживать работу при возникновении проблем с Microsoft Entra ID. Скорее всего, новые pod или узлы AKS не могут создаваться. При проведении масштабных операций в это время может привести к снижению качества обслуживания пользователей и даже к сбоям. Частично
Azure DNS Azure DNS становится недоступным, и разрешение DNS не удаётся. Если Azure DNS становится недоступным, разрешение DNS для запросов пользователей и между различными компонентами приложения завершается ошибкой. В настоящее время для этого сценария нет возможных мер по смягчению рисков. Подход с несколькими регионами не устраняет никаких сбоев, так как это глобальная служба. Azure DNS является жесткой зависимостью. Внешние службы DNS в качестве резервной копии не помогут, так как все компоненты PaaS основываются на Azure DNS. Обход DNS путем переключения на IP-адрес не является вариантом. Azure службы не имеют статических, гарантированных IP-адресов. Полностью
Входная дверь Общий сбой в системе Front Door. Если Front Door выходит из строя полностью, не существует мер по устранению последствий. Эта служба является жесткой зависимостью. Да
Входная дверь Ошибки конфигурации маршрутизации, внешнего интерфейса или серверной части. Может произойти из-за несоответствия конфигурации при развертывании. Должно быть обнаружено на этапах тестирования. Конфигурация внешнего интерфейса с DNS зависит от каждой среды. Устранение неполадок: откат к предыдущей конфигурации должен устранить большинство проблем. Поскольку развертывание изменений в Front Door занимает несколько минут, это приводит к сбою. Полностью
Входная дверь Удаляется управляемый TLS/SSL-сертификат. Может произойти из-за несоответствия конфигурации при развертывании. Должно быть обнаружено на этапах тестирования. Технически сайт по-прежнему работает, но ошибки сертификатов TLS/SSL не позволяют пользователям получать к нему доступ. Устранение: Повторная выдача сертификата может занять около 20 минут, плюс потребуется исправление и повторный запуск конвейера. Полностью
Azure Cosmos DB База данных или коллекция переименована. Может произойти из-за несоответствия конфигурации при развертывании — Terraform перезаписывает всю базу данных, что может привести к потере данных. Потери данных можно предотвратить с помощью блокировок уровня базы данных или коллекции. Приложение не может получить доступ к данным. Необходимо обновить конфигурацию приложения и перезапустить pod'ы. Да
Azure Cosmos DB Сбой в регионе В Azure Mission-Critical включена возможность записи в нескольких регионах. Если при чтении или записи произошел сбой, клиент повторяет текущую операцию. Все будущие операции окончательно направляются в следующий регион в порядке предпочтения. Если в списке предпочтений есть одна запись (или пустая), но у учетной записи есть другие регионы, она будет направляться в следующий регион в списке учетных записей. Нет
Azure Cosmos DB Обширное ограничение из-за недостатка RUs. В зависимости от количества RUs и балансировки нагрузки на уровне Front Door, некоторые участки могут испытывать высокую нагрузку при использовании Azure Cosmos DB, в то время как другие участки могут обрабатывать больше запросов. Снижение нагрузки: лучшее распределение нагрузки или больше RUs. Нет
Azure Cosmos DB Переполнен раздел Azure Cosmos DB ограничение размера логического раздела составляет 20 ГБ. Если данные для ключа секции в контейнере достигают этого размера, дополнительные запросы на запись завершаются ошибкой "Ключ секции достиг максимального размера". Частично (запись в базу данных отключена)
Реестр контейнеров Azure Сбой в регионе Реестр контейнеров использует Диспетчер трафика для переключения при отказе между реплицированными регионами. Любой запрос должен быть автоматически перенаправлен в другой регион. В худшем случае узлы AKS не загружают образы Docker в течение нескольких минут, пока происходит переключение на резервный DNS. Нет
Реестр контейнеров Azure Изображение или изображения удалены Изображения не могут быть загружены. Этот сбой должен влиять только на вновь созданные или перезагруженные узлы. Существующие узлы должны кэшировать образы. **Устранение последствий: Если быстро обнаружено и выполнено повторное выполнение последних сборочных процессов, образы должны вернуться в реестр. Нет
Реестр контейнеров Azure Ограничение скорости Ограничение скорости может отложить операции горизонтального масштабирования, что может привести к временному снижению производительности. Смягчение: Azure Mission-Critical использует SKU класса Premium, который обеспечивает выполнение 10 тысяч операций чтения в минуту. Образы контейнеров оптимизированы и имеют только небольшое количество слоев. Политика ImagePullPolicy установлена на IfNotPresent, чтобы сначала использовать версии, сохраненные в локальном кэше. Примечание. Извлечение образа контейнера состоит из нескольких операций чтения в зависимости от количества слоев. Количество операций чтения в минуту ограничено и зависит от размера SKU ACR. Нет
Служба Azure Kubernetes Сбой обновления кластера Обновления узлов AKS должны выполняться в различное время в разных кластерах. Если одно обновление завершается сбоем, другой кластер не должен быть затронут. Обновления кластера должны развертываться в последовательном режиме между узлами, чтобы предотвратить недоступность всех узлов. Нет
Служба Azure Kubernetes Модуль приложения pod убивается во время обработки запроса. Этот результат может привести к возникновению ошибок для конечного пользователя и плохого пользовательского опыта. Устранение рисков: Kubernetes по умолчанию удаляет модули pod в корректном режиме. Pods сначала удаляются из сервисов, после чего нагрузке отправляется SIGTERM с временем завершения, чтобы закрыть открытые запросы и записать данные перед завершением. Код приложения должен правильно обрабатывать SIGTERM, а льготный период может потребоваться изменить, если завершение рабочей нагрузки занимает больше времени. Нет
Служба Azure Kubernetes Емкость вычислений недоступна в регионе для добавления дополнительных узлов. Сбой операций масштабирования вверх/вниз не должен влиять на существующие узлы и их функционирование. В идеале трафик должен автоматически перемещаться в другие регионы для балансировки нагрузки. Нет
Служба Azure Kubernetes Подписка исчерпала квоту ядер ЦП для добавления новых узлов. Сбой операций масштабирования вверх/вниз не должен влиять на существующие узлы и их функционирование. В идеале трафик должен автоматически перемещаться в другие регионы для балансировки нагрузки. Нет
Служба Azure Kubernetes Давайте зашифруем TLS/SSL-сертификаты не могут быть выданы или продлены. Кластер должен сообщать о неполадках в Front Door, и трафик должен перейти на другие стемпы. Смягчение последствий: исследование основной причины проблемы или сбоя. Нет
Служба Azure Kubernetes Если запросы и ограничения ресурсов настроены неправильно, pod могут достигать 100 % использования ЦП, и запросы могут не выполняться. Механизм повторных попыток приложения должен иметь возможность восстановить неудачные запросы. Повторные попытки могут привести к более длительному запросу, без сообщения об ошибке клиенту. Чрезмерная нагрузка в конечном итоге приводит к сбою. Нет (если загрузка не чрезмерна)
Служба Azure Kubernetes Внешние образы контейнеров / реестр недоступны Для некоторых компонентов, таких как cert-manager и ingress-nginx, требуется скачивание образов контейнеров и Helm charts из внешних реестров контейнеров (исходящий трафик). Если один или несколько из этих репозиториев или образов недоступны, новые экземпляры на новых узлах (где образ еще не кэширован) могут не запускаться. Возможное устранение рисков. В некоторых сценариях можно импортировать внешние образы контейнеров в реестр контейнеров для каждого решения. Этот сценарий добавляет дополнительную сложность и следует тщательно планировать и выполнять операции. Частично (во время операций масштабирования и обновления/модернизации)
Концентратор событий Сообщения не могут отправляться в Центры событий Метка становится неиспользуемой для операций записи. Служба здравоохранения должна автоматически обнаруживать это и убирать штамп из оборота. Нет
Концентратор событий Сообщения не могут быть прочитаны фоновым обработчиком Сообщения накапливаются. Сообщения не должны теряться, поскольку они сохраняются. В настоящее время этот недостаток не покрывается службой здравоохранения. Для обнаружения ошибок при чтении сообщений следует настроить систему мониторинга и оповещения. Устранение неполадок. Метка должна быть отключена вручную, пока проблема не будет устранена. Нет
Учетная запись хранения Учетная запись хранения становится недоступной для рабочей роли при регистрации контрольных точек "Центров событий" Штамп не обрабатывает сообщения из Центров событий. Учетная запись хранения также используется HealthService. Служба здоровья обнаруживает проблемы с хранилищем и должна вывести штамп из оборота. Можно ожидать, что другие службы в системе затрагиваются одновременно. Нет
Учетная запись хранения Статический веб-сайт сталкивается с проблемами. Если статический веб-сайт сталкивается с проблемами, Front Door обнаруживает этот сбой. Трафик не отправляется в эту учетную запись хранения. Кэширование в системе Front Door также может облегчить эту проблему. Нет
Хранилище ключей Key Vault недоступно для выполнения операций GetSecret. В начале новых "подов" драйвер AKS CSI извлекает все секреты из Key Vault, что приводит к сбою. Не удается запустить модули Pod. Автоматическое обновление в настоящее время выполняется каждые пять минут. Обновление не удаётся. Ошибки должны отображаться в kubectl describe pod, но pod продолжает работать. Нет
Хранилище ключей Key Vault недоступен для выполнения операций GetSecret или SetSecret. Не удается выполнить новые развертывания. В настоящее время этот сбой может привести к остановке всего конвейера развертывания, даже если затрагивается только один регион. Нет
Хранилище ключей регулирование Key Vault Key Vault имеет ограничение в 10 000 операций в 10 секунд. Из-за автоматического обновления секретов вы в теории могли бы достичь этого предела, если у вас было много (тысячи) капсул в stamp. Возможное решение: еще сильнее уменьшить частоту обновления или полностью отключить её. Нет
Приложение Неправильные настройки Неверные строки подключения или секреты, которые внедрены в приложение. Смягчается за счет автоматического развертывания (конвейер автоматически управляет конфигурацией) и обновлений методом «blue-green». Нет
Приложение Истекшие учетные данные (ресурс штампа) Например, если маркер SAS концентратора событий или ключ от учетной записи хранения был изменен без надлежащего обновления их в Key Vault, чтобы контейнеры могли их использовать, соответствующий компонент приложения терпит неудачу. Этот сбой должен повлиять на службу здравоохранения, и метка должна быть снята из обращения автоматически. Устранение рисков. Используйте проверку подлинности на основе Microsoft Entra ID для всех служб, поддерживающих ее. AKS требует, чтобы pod аутентифицировались с помощью Идентификация рабочей нагрузки Microsoft Entra. Нет
Приложение Истекшие учетные данные (глобальный общий ресурс) Если, например, ключ API Azure Cosmos DB был изменен без правильного обновления его во всех хранилищах ключей штампа, чтобы pod могли использовать их, соответствующие компоненты приложения терпят неудачу. Сбой приведет к одновременному падению всех штампов и вызовет перебои в работе всей нагрузки. Возможный способ обхода необходимости использования ключей и секретов с помощью проверки подлинности Microsoft Entra см. в предыдущем элементе. Полностью
Виртуальная сеть Пространство IP-адресов подсети исчерпано Если пространство IP-адресов в подсети исчерпано, операции горизонтального масштабирования, такие как создание узлов или подов AKS, не могут произойти. Сбой не возникает, но может снизить производительность и повлиять на пользовательский опыт. Устранение рисков: увеличьте пространство IP -адресов (при возможности). Если это не вариант, возможно, стоит увеличить ресурсы на узел (более крупные SKU виртуальных машин) или на pod (больше ЦП или памяти), чтобы каждый pod мог обрабатывать больше трафика, тем самым уменьшая потребность в масштабировании. Нет

Следующие шаги