Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Оптимизация затрат заключается в максимизации стоимости ресурсов при минимизации ненужных расходов в облачной среде. Этот процесс включает определение параметров экономичной конфигурации и реализацию рекомендаций по повышению эффективности работы. Среда AKS может быть оптимизирована для минимизации затрат при учете требований к производительности и надежности.
В этой статье раскрываются следующие темы:
- Целостные методики мониторинга и FinOps.
- Выбор стратегической инфраструктуры.
- Динамическое масштабирование и автомасштабирование.
- Использование скидок Azure для существенной экономии.
Использование FinOps для создания культуры экономии затрат
Финансовые операции (FinOps) — это дисциплина, которая объединяет финансовую отчетность с управлением облаком и оптимизацией. В нем основное внимание уделяется обеспечению выравнивания между финансами, операциями и инженерными командами, чтобы понять и контролировать затраты на облако. Фонд FinOps имеет несколько заметных проектов, таких как FinOps Framework и спецификация FOCUS.
Дополнительные сведения см. в разделе "Что такое FinOps?"
Подготовка среды приложения
Оценка семейства SKU
Перед развертыванием важно оценить требования к ресурсам приложения. Небольшие рабочие нагрузки разработки имеют разные потребности в инфраструктуре, чем большие рабочие нагрузки, готовые к рабочей среде. Хотя сочетание конфигураций ЦП, памяти и сетевой емкости сильно влияет на эффективность SKU, рассмотрите следующие типы виртуальных машин:
| Семейство SKU | Описание | Вариант использования |
|---|---|---|
| точечные виртуальные машины Azure. | Масштабируемые наборы виртуальных машин Azure поддерживают спот-пулы узлов и развертываются в одном домене сбоя без гарантии высокого уровня доступности или соглашений об уровне обслуживания (SLA). Виртуальные машины Spot позволяют воспользоваться неиспользованными ресурсами Azure со значительными скидками (до 90 % по сравнению с ценами по запросу). Если Azure нуждается в емкости, инфраструктура Azure вытесняет точечные узлы. | Лучше всего подходит для сред разработки и тестирования, рабочих нагрузок, которые могут обрабатывать прерывания, такие как задания пакетной обработки и рабочие нагрузки с гибким временем выполнения. |
| Процессоры на основе Arm (Arm64) | Виртуальные машины Arm64 являются эффективными и экономичными, но не компрометируют производительность. Благодаря поддержке пула узлов Arm64 в AKS можно создавать узлы агента Ubuntu Arm64 и даже смешивать узлы архитектуры Intel и ARM в кластере. Эти виртуальные машины ARM предназначены для эффективного выполнения динамических масштабируемых рабочих нагрузок и могут обеспечить до 50 % более высокую производительность по цене, чем сопоставимые виртуальные машины на основе x86 для масштабируемых рабочих нагрузок. | Лучше всего подходит для серверов веб-приложений, баз данных с открытым исходным кодом, облачных приложений, игровых серверов и т. д. |
| Оптимизированные номера SKU gpu | В зависимости от характера рабочей нагрузки рекомендуется использовать оптимизированные вычислительные ресурсы, оптимизированные для памяти, оптимизированные для хранения хранилища или даже оптимизированные графические номера SKU виртуальных машин. Размеры виртуальных машин GPU — это специализированные виртуальные машины, доступные с одним, несколькими и дробными gpu. | Пулы узлов Linux с поддержкой GPU в AKS лучше всего подходит для вычислительных рабочих нагрузок, таких как отрисовка графики, обучение больших моделей и вывод. |
Примечание.
Стоимость вычислений зависит от регионов. При выборе менее дорогого региона для выполнения рабочих нагрузок учитывайте потенциальное влияние задержки, а также затрат на передачу данных. Дополнительные сведения о номерах SKU виртуальных машин и их характеристиках см. в статье "Размеры виртуальных машин" в Azure.
Обзор вариантов хранения
Дополнительные сведения о вариантах хранения и связанных затратах см. в следующих статьях:
- Рекомендации по хранению и резервному копированию в Служба Azure Kubernetes (AKS)
- Варианты хранения приложений в Служба Azure Kubernetes (AKS)
Использование конфигураций предустановки кластера
Выбрать нужный номер SKU виртуальной машины, регионы, количество узлов и другие параметры конфигурации может быть сложно. Конфигурации предустановки кластера в портал Azure выгружают эту начальную задачу, предоставляя рекомендуемые конфигурации для различных сред приложений, которые являются дорогостоящими и выполняющимися. Предустановка разработки и тестирования лучше всего подходит для разработки новых рабочих нагрузок или тестирования существующих рабочих нагрузок. Предустановка производственной экономики лучше всего подходит для обслуживания производственного трафика экономичным образом, если нагрузки могут выдерживать прерывания. Некритические функции отключены по умолчанию, и предварительно заданные значения можно изменять в любое время.
Рассмотрите возможность мультитенантности
AKS обеспечивает гибкость в том, как запускать мультитенантные кластеры и изолировать ресурсы. Для более удобного использования мультитенантности вы можете совместно использовать кластеры и инфраструктуру между командами и бизнес-подразделениями, обеспечивая при этом логическую изоляцию. Пространства имен Kubernetes образуют границу логической изоляции для рабочих нагрузок и ресурсов. Инфраструктура совместного использования сокращает затраты на управление кластерами, а также улучшает загрузку ресурсов и плотность модулей pod в кластере. Чтобы узнать больше о мультитенантности в AKS и определить, подходит ли это для вашей организации, ознакомьтесь с рекомендациями по мультитенантности и проектированию кластеров для мультитенантности.
Предупреждение
Среды Kubernetes не являются полностью безопасными для враждебной мультитенантности. Если любой клиент в общей инфраструктуре не может быть доверенным, требуется больше планирования, чтобы предотвратить влияние на безопасность других служб.
Рассмотрим границы физической изоляции . В этой модели команды и рабочие нагрузки закрепляются за собственным кластером. Будут дополнительные издержки на управление и финансы, что станет компромиссным решением.
Создание нативных облачных приложений
Сделайте ваш контейнер как можно более компактным
Бережливый контейнер относится к оптимизации размера и объема ресурсов контейнерного приложения. Убедитесь, что базовый образ минимальный и содержит только необходимые зависимости. Удалите ненужные библиотеки и пакеты. Меньший образ контейнера ускоряет развертывание и повышает эффективность операций масштабирования. Стриминг артефактов в AKS позволяет передавать образы контейнеров из реестра контейнеров Azure (ACR). Он загружает только необходимый слой для начального запуска Pod, сокращая время загрузки для крупных образов с минут до секунд.
Применение квот ресурсов
Квоты ресурсов предоставляют способ резервирования и ограничения ресурсов в команде разработки или проекте. Квоты определяются в пространстве имен и могут задаваться для вычислительных ресурсов, ресурсов хранилища и количества объектов. При определении квот ресурсов он запрещает отдельным пространствам имен потреблять больше ресурсов, чем выделено. Квоты ресурсов полезны для мультитенантных кластеров, где команды используют инфраструктуру общего доступа.
Используйте запуск/остановку кластера
Если оставить без внимания, маленькие кластеры для разработки и тестирования могут накапливать ненужные затраты. Вы можете отключить кластеры, которые не нужно запускать в любое время с помощью функции запуска и остановки кластера. Эта функция завершает работу всех пулов системных и пользовательских узлов, поэтому вы не платите за дополнительные вычислительные ресурсы. Состояние кластера и объектов сохраняется при повторном запуске кластера.
Использование резервирования емкости
Резервирования емкости позволяют резервировать вычислительные мощности в регионе Azure или зоне доступности в течение любого периода времени. Зарезервированная емкость доступна для немедленного использования до удаления резервирования. Связывание существующей группы резервации емкости с пулом узлов гарантирует выделенную емкость для вашего пула узлов и помогает избежать потенциальных всплесков цен по запросу в периоды высокого спроса на вычислительные мощности.
Мониторинг среды и расходы
Повышение видимости с помощью Microsoft Cost Management
Microsoft Cost Management предоставляет широкий набор возможностей, которые обеспечивают поддержку в облачном бюджетировании, прогнозировании и обеспечении видимости затрат как внутри, так и за пределами кластера. Правильная видимость важна для расшифровки тенденций расходов, выявления возможностей оптимизации и повышения подотчетности среди разработчиков приложений и команд платформы. Включите дополнение анализа затрат AKS для подробной детализации затрат кластера по конструкциям Kubernetes, а также по категориям вычисления, сети и хранилища в Azure.
Azure Monitor
При получении данных метрик через сервис Container Insights рекомендуется перейти на управляемую версию Prometheus, что обеспечивает значительное сокращение затрат. Вы можете отключить метрики аналитики контейнеров с помощью правила сбора данных (DCR) и развернуть управляемую надстройку Prometheus, которая поддерживает настройку с помощью Azure Resource Manager, Azure CLI, портал Azure и Terraform.
Дополнительные сведения см. в рекомендациях Azure Monitor и управлении затратами на аналитику контейнеров.
Служба Log Analytics
Рекомендуется для журналов плоскости управления отключить категории, которые вам не нужны, и/или использовать API базовых журналов, если это применимо, чтобы сократить затраты на Log Analytics. Дополнительные сведения см. в разделе журналы плоскости управления и ресурсов службы Azure Kubernetes (AKS). Для журналов плоскости данных или журналов приложений рекомендуется настроить параметры оптимизации затрат.
Вы также можете использовать преобразования в Azure Monitor, чтобы фильтровать или изменять журналы плоскости управления и плоскости данных перед их отправкой в рабочую область Log Analytics. Дополнительные сведения о создании преобразования см. в статье "Создание преобразования" в Azure Monitor.
Рекомендации Помощника по Azure по затратам
Рекомендации по затратам AKS в Помощнике по Azure предоставляют рекомендации, которые помогут вам достичь экономичности без ущерба для надежности. Помощник анализирует конфигурации ресурсов и рекомендует решения по оптимизации. Дополнительные сведения см. в статье "Получение рекомендаций по затратам службы Azure Kubernetes (AKS) в Помощнике по Azure.
Оптимизация рабочих нагрузок с помощью автомасштабирования
Определение базовых показателей
Перед настройкой параметров автомасштабирования можно использовать Azure Load Testing для создания базовых показателей для приложения. Нагрузочное тестирование помогает понять, как работает приложение в различных условиях трафика и определить узкие места производительности. После создания базовых показателей можно настроить параметры автомасштабирования, чтобы приложение могло обрабатывать ожидаемую нагрузку.
Включение автомасштабирования приложений
Автомасштабирование вертикального модуля pod
Запросы и ограничения, превышающие фактическое использование, могут привести к избыточным рабочим нагрузкам и нераспроходным ресурсам. В отличие от этого, запросы и ограничения, которые слишком низкие, могут привести к регулированию и проблемам с рабочей нагрузкой из-за нехватки памяти. Автомасштабирование вертикального модуля pod (VPA) позволяет точно настроить ресурсы ЦП и памяти, необходимые для модулей pod. VPA предоставляет рекомендуемые значения для запросов ЦП и памяти и ограничений на основе использования исторических контейнеров, которые можно настроить вручную или обновить автоматически. Лучше всего подходит для приложений с изменяющимися требованиями к ресурсам. Режим только для рекомендаций VPA позволяет командам просматривать предложения ресурсов, не применяя их автоматически. Этот режим можно включить во время тестирования, а рекомендации VPA можно использовать для задания запроса ЦП и памяти и ограничений для рабочих сред.
Автомасштабирование горизонтального модуля pod
Горизонтальное автоматическое масштабирование подов (HPA) динамически регулирует количество реплик подов на основе наблюдаемых метрик, таких как использование центрального процессора или памяти. В периоды высокого спроса HPA масштабируется, добавляя дополнительные реплики pod для распределения рабочей нагрузки. В периоды низкого спроса HPA масштабируется, уменьшая количество реплик для экономии ресурсов. Лучше всего подходит для приложений с прогнозируемыми требованиями к ресурсам.
Предупреждение
Вы не должны использовать VPA с HPA на одном цП или метриках памяти. Это сочетание может привести к конфликтам, так как оба автомасштабировщика пытаются реагировать на изменения спроса, используя одни и те же метрики. Однако вы можете использовать VPA для ЦП или памяти вместе с HPA для пользовательских метрик, чтобы предотвратить перекрытие и убедиться, что каждое автоскалирование сосредотачивается на различных аспектах масштабирования рабочей нагрузки.
Автомасштабирование на основе событий Kubernetes
Надстройка Kubernetes Event-driven Autoscaler (KEDA) обеспечивает большую гибкость для масштабирования на основе различных метрик, связанных с событиями, которые соответствуют поведению вашего приложения. Например, для веб-приложения KEDA может отслеживать входящий трафик HTTP-запроса и настраивать количество реплик pod, чтобы обеспечить реагирование приложения. Для обработки заданий KEDA может масштабировать приложение на основе длины очереди сообщений. Управляемая поддержка предоставляется для всех масштабировщиков Azure. KEDA также позволяет сократить до 0 реплик, особенно полезно для рабочих нагрузок, управляемых событиями, периодического машинного обучения (ML) или рабочих нагрузок GPU, а также разработки и тестирования или низкой нагрузки трафика.
Включить автомасштабирование инфраструктуры
Автоматическое масштабирование кластера
Чтобы удовлетворить спрос на приложения, автомасштабировщик кластера отслеживает поды, которые не могут быть запланированы из-за ограничений ресурсов, и масштабирует количество узлов в пуле соответствующим образом. Если на узлах не работают поды, автомасштабирование кластера уменьшает количество узлов. Параметры профиля автомасштабирования кластера применяются ко всем пулам узлов с поддержкой автомасштабирования в кластере. Для получения дополнительной информации см. лучшие практики и соображения по автомасштабированию кластеров.
Автоподготовка узла
Для сложных рабочих нагрузок может потребоваться несколько пулов узлов с различными конфигурациями размера виртуальной машины для удовлетворения требований к ЦП и памяти. Точное выбор и управление несколькими конфигурациями пула узлов добавляет сложность и операционные издержки. Автоматическая подготовка узла (NAP) упрощает процесс выбора SKU и определяет оптимальную конфигурацию виртуальной машины на основе ожидаемых требований к ресурсам pod для запуска рабочих нагрузок наиболее эффективно и экономично.
Примечание.
Дополнительные сведения о масштабировании лучших практик см. в статье "Производительность и масштабирование для небольших и средних рабочих нагрузок в Службе Azure Kubernetes (AKS)" и "Лучшие практики по производительности и масштабированию для больших рабочих нагрузок в Службе Azure Kubernetes (AKS)".
Экономьте с Azure с помощью скидок
Резервирование Azure
Если рабочая нагрузка предсказуема и существует в течение длительного периода времени, рассмотрите возможность приобретения резервирования Azure для дальнейшего снижения затрат на ресурсы. Резервирования Azure предлагаются с сроком на один или три года, обеспечивая скидку до 72 % на вычислительные ресурсы по сравнению с оплатой по мере использования. Резервирования автоматически применяются к соответствующим ресурсам. Лучше всего подходит для рабочих нагрузок, которые закреплены в тех же единицах SKU и регионах на протяжении длительного времени.
Экономичный план Azure
Если у вас есть постоянные расходы, но использование разрозненных ресурсов по SKU и регионам делает резервирования Azure нецелесообразными, рассмотрите возможность приобретения Плана экономии Azure. Как и резервирования Azure, планы сбережений Azure работают сроком на один или три года и автоматически применяются к любым ресурсам в рамках предоставляемых выгод. Вы обязуетесь тратить установленную почасовую сумму на вычислительные ресурсы независимо от SKU или региона. Лучше всего подходит для рабочих нагрузок, использующих различные ресурсы и (или) разные регионы центра обработки данных.
Преимущество гибридного использования Azure
Преимущество гибридного использования Azure для Служба Azure Kubernetes (AKS) позволяет максимизировать локальные лицензии без дополнительных затрат. Используйте любые соответствующие локальные лицензии, которые также имеют активную версию Software Assurance (SA) или ценовую подписку, чтобы получить виртуальные машины Windows в Azure по сниженной стоимости.
Следующие шаги
Оптимизация затрат — это постоянные итеративные усилия. Дополнительные сведения см. в следующих рекомендациях и рекомендациях по архитектуре: