Поделиться через


анализ затрат Служба Azure Kubernetes (AKS)

В этой статье вы узнаете, как включить анализ затрат на Служба Azure Kubernetes (AKS) для просмотра подробных данных о затратах для ресурсов кластера.

О анализе затрат

Кластеры AKS используют ресурсы Azure, такие как виртуальные машины, виртуальные диски, подсистемы балансировки нагрузки и общедоступные IP-адреса. Несколько приложений могут использовать эти ресурсы. Шаблоны потребления ресурсов часто отличаются для каждого приложения, поэтому их вклад в общую стоимость ресурсов кластера также может отличаться. В некоторых приложениях могут быть места в нескольких кластерах, что может вызвать проблему при выполнении управления затратами и управления затратами.

При включении анализа затрат в кластере AKS можно просмотреть подробные области распределения затрат, связанные с конструкциями Kubernetes, такими как кластеры и пространства имен, а также ресурсы вычислений, сети и хранилища Azure. Надстройка построена на основе OpenCost, проекта с открытым исходным кодом Cloud Native Computing Foundation Incubating для сбора данных об использовании. Данные об использовании сопоставляются с данными счета Azure для предоставления комплексного представления затрат на кластер AKS непосредственно в представлениях управления затратами портал Azure.

Дополнительные сведения об управлении затратами Майкрософт см. в статье "Начало анализа затрат в Azure".

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

Необходимые компоненты

  • Кластер должен использовать Standard уровень или Premium уровень, а не Free уровень.
  • Чтобы просмотреть сведения об анализе затрат, необходимо иметь одну из следующих ролей в подписке, в которых размещен кластер: Owner, Cost Management ContributorContributorReaderили .Cost Management Reader
  • Идентификация рабочей нагрузки Microsoft Entra настроен в кластере.
  • Если используется Azure CLI, вам нужна версия 2.61.0 или более поздняя версия.
  • После включения анализа затрат вы не сможете перейти на Free уровень, не отключив анализ затрат.
  • Доступ к API Azure, включая API Azure Resource Manager (ARM). Список полных доменных имен (FQDN) см. в разделе "Анализ затрат AKS" требуется полное доменное имя.

Ограничения

  • Представления затрат Kubernetes доступны только для Соглашение Enterprise и Клиентское соглашение Майкрософт типов предложений Microsoft Azure. Дополнительные сведения см. в статье "Поддерживаемые предложения Microsoft Azure".
  • В настоящее время виртуальные узлы не поддерживаются.

Включение анализа затрат в кластере AKS

Вы можете включить анализ затрат с флагом --enable-cost-analysis во время одной из следующих операций:

  • Standard Создание кластера AKS или Premium уровня.
  • Обновление существующего Standard или Premium многоуровневого кластера AKS.
  • Free Обновление кластера до Standard или Premium.
  • Standard Обновление кластера до Premium.
  • Понижение Premium уровня кластера на Standard уровень.

Включение анализа затрат в новом кластере

Включите анализ затрат в новом кластере az aks create с помощью команды с флагом --enable-cost-analysis . В следующем примере создается новый кластер AKS на Standard уровне с включенным анализом затрат:

az aks create --resource-group <resource-group> --name <cluster-name> --location <location> --enable-managed-identity --generate-ssh-keys --tier standard --enable-cost-analysis

Включение анализа затрат в существующем кластере

Включите анализ затрат в существующем кластере az aks update с помощью команды с флагом --enable-cost-analysis . В следующем примере обновляется существующий кластер AKS на Standard уровне, чтобы включить анализ затрат:

az aks update --resource-group <resource-group> --name <cluster-name> --enable-cost-analysis

Примечание.

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

Предупреждение

Использование памяти для анализа затрат AKS зависит от количества развернутых контейнеров. Вы можете примерно приблизить потребление памяти с помощью 200 МБ + 0,5 МБ на контейнер. Текущее ограничение памяти равно 4 ГБ, которое поддерживает примерно 7000 контейнеров на кластер. Эти оценки могут быть изменены.

Отключение анализа затрат в кластере AKS

Отключите анализ затрат с помощью az aks update команды с флагом --disable-cost-analysis .

az aks update --name <cluster-name> --resource-group <resource-group> --disable-cost-analysis

Примечание.

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

Просмотр данных о затратах

Данные о выделении затрат можно просмотреть в портал Azure. Дополнительные сведения см. в разделе "Просмотр затрат AKS" в службе "Управление затратами Майкрософт".

Определения затрат

В пространствах имен Kubernetes и представлениях активов может появиться любая из следующих расходов:

  • Плата за простой представляет стоимость доступной емкости ресурсов, которая не используется ни одной рабочей нагрузкой.
  • Плата за обслуживание представляет расходы, связанные со службой, например соглашение об уровне обслуживания от простоя, Microsoft Defender для контейнеров и т. д.
  • Системные расходы представляют стоимость емкости, зарезервированной AKS на каждом узле для выполнения системных процессов, необходимых кластеру, включая среду выполнения kubelet и контейнера. Подробнее.
  • Нераспределенные расходы представляют затраты на ресурсы, которые не могут быть выделены пространствам имен.

Примечание.

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

Устранение неполадок

Если возникают проблемы, такие как cost-agent получение OOMKilled или зависание модуля pod в Pending состоянии, см . статью "Устранение неполадок с анализом затрат AKS".

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

Дополнительные сведения о затратах в AKS см. в статье "Общие сведения об использовании и затратах на использование Служба Azure Kubernetes (AKS).