Общие сведения о версиях компонентов AKS

Azure Kubernetes Service (AKS) управляет несколькими компонентами, которые соответствуют различным стратегиям управления версиями и исправлениями. Понимание того, как версионируются эти компоненты, помогает планировать обновления, отслеживать патчи безопасности и эффективно управлять жизненным циклом кластера.

В этой статье объясняется подход к настройке версий для различных категорий компонентов AKS и их поддержания с течением времени.

Обзор компонентов AKS

Схема различных компонентов AKS — плоскость управления, образы узлов и функции AKS, расширения, надстройки, развернутые в качестве рабочих нагрузок на узлах

AKS состоит из нескольких компонентов, каждый из которых содержит отдельные шаблоны управления версиями:

  • Плоскость управления кластером Kubernetes, размещенная AKS: управляемый сервер API Kubernetes, etcd и другие компоненты плоскости управления кластером.

  • Образы узлов: операционная система, среда выполнения контейнера и основные компоненты узлов Kubernetes. Сведения о том, какие компоненты упаковываются в образы узлов, можно найти в папке заметок Virtual Hard Disk (VHD) в репозитории AKS GitHub.

  • Рабочие нагрузки: управляемые функции AKS, надстройки и расширения могут иметь компоненты в одном из этих двух сегментов:

    • Автономные дополнения/функции и модули расширения pod: функции/дополнения/расширения AKS, которые работают с автономными подами (из Deployments или DaemonSets) на узлах, размещенных у клиента (слева). Например, istiod, azure-cnsи coredns.
    • Компоненты AKS внутри подов рабочей нагрузки клиента: некоторые функции/дополнения/расширения AKS могут иметь сайдкары, работающие внутри подов пользователя (справа). Например, Istio внедряет сайдкары-прокси в pod'ы рабочей нагрузки клиента.

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

Контрольная плоскость Образы узлов Автономные надстройки/функции/расширения pods Компоненты AKS внутри pod с рабочими нагрузками клиента
Что такое версия? Сервер API Kubernetes и т. д., контроллеры Компоненты операционной системы, среды выполнения контейнеров и основных компонентов узлов Kubernetes Функция AKS/надстройки/расширения, работающие под управлением автономных модулей pod (например, istiod) Сайдкары или поддерживающие контейнеры, внедренные с помощью надстроек или расширений
Модель управления версиями Следует семантическому контролю версий Kubernetes (MAJOR.MINOR.PATCH). AKS предлагает модели сообщества и долгосрочной поддержки (LTS). Дополнительные сведения см. в документации по политике поддержки версий AKS Версии образа узла вместе с заметками VHD, опубликованными с выпусками AKS. Надстройка/функция/расширение с минорной версией, привязанной 1-1 к минорной версии AKS. Версия сайдкара должна быть совместима с контрольной плоскостью надстройки.
метод update У клиента есть возможность выбрать, до какой версии MAJOR.MINOR.PATCH обновиться. Ручное (az aks upgrade) или автоматическое с использованием каналов автоматического обновления Клиент может обновить до последней поддерживаемой версии образа узла. Ручное (az aks nodepool upgrade) или автоматическое с использованием каналов автоматического обновления — Минорная версия обновляется при обновлении минорной версии плоскости управления (кроме Istio; см. документацию по обновлению Istio).
— версия патча, обновляемая автоматически выпусками AKS
Клиенту необходимо вручную обновить (перезапустить рабочие нагрузки с сайдкарами) до совместимых версий сайдкаров, как указано в документации аддона/функции/расширения.

Рекомендации по управлению версиями

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

  • Для продуктовых кластеров:
    • Рассмотрите возможность автоматического обновления исправлений для своевременного исправления безопасности
    • Выбор между автоматическими или ручным дополнительными обновлениями версий в зависимости от ваших операционных потребностей
    • Сначала протестируйте все изменения в промежуточных средах
  • Для кластеров разработки:
    • Включите автоматические обновления как для плоскости управления, так и для пулов узлов, чтобы оставаться в актуальном состоянии с последними функциями.
    • Выберите соответствующие каналы на основе потребностей разработки и тестирования (см. автоматическое обновление кластера и автоматическое обновление образа узла для параметров канала)
    • Использование в качестве тестовой платформы для стратегий обновления рабочей среды
  • Критические изменения: следите за трекером выпусков AKS и изучайте политики устаревания Kubernetes, чтобы оставаться в курсе устаревания API и критических изменений как в AKS, так и в основном Kubernetes.
  • Проверка предварительного обновления. Перед обновлением рабочих кластеров протестируйте приложения, пользовательские ресурсы и сторонние интеграции в предварительно созданных кластерах, чтобы обеспечить совместимость с новой версией Kubernetes и обновленными компонентами AKS.

Просмотр версий компонентов AKS с помощью AKS Component Insights (предварительная версия)

AKS Component Insights (Preview) обеспечивает подробный обзор точных версий всех компонентов, работающих в кластере Служба Azure Kubernetes. Эта функция помогает понять текущее состояние кластера, планирование обновлений и выявить потенциальные проблемы совместимости.

Это важно

Предварительные версии функций AKS доступны на условиях самообслуживания и добровольного выбора. Предварительные версии предоставляются "как есть" и "при наличии". На них не распространяются соглашения об уровне обслуживания и ограниченная гарантия. Предварительные версии AKS сопровождаются частичной поддержкой клиентов на основе принципа лучших усилий. Как таковые, эти функции не предназначены для использования в производстве. Для получения дополнительной информации ознакомьтесь со следующими статьями поддержки:

Предпосылки

Предпосылка Примечания.
Azure CLI 2.74.0 или более поздней версии. Чтобы узнать версию, выполните команду az --version. Если необходимо установить или обновить, см. раздел Install Azure CLI.
расширение Azure CLI aks-preview 18.0.0b19 или позднее. Чтобы узнать версию, выполните команду az --version. Если вам необходимо установить или обновить, см. раздел Управление расширениями Azure CLI.

Можно установить или обновить до последней доступной aks-preview Azure CLI расширения с помощью следующих команд:

# Install the aks-preview extension
az extension add --name aks-preview

# Update to the latest version if already installed
az extension update --name aks-preview

Просмотр версий компонентов с помощью Azure CLI

az aks get-upgrades Используйте команду для просмотра версий компонентов:

az aks get-upgrades --resource-group myResourceGroup --name myAKSCluster

Сведения о компоненте возвращаются в секции componentsByReleases. Ожидаемые выходные данные будут похожи на следующие (для краткости показана только часть компонентаByReleases):

{
  "componentsByReleases": [
      {
        "components": [
          {
            "hasBreakingChanges": false,
            "name": "cloud-provider-node-manager-linux",
            "version": "v1.32.5"
          },
          {
            "hasBreakingChanges": false,
            "name": "cloud-provider-node-manager-windows",
            "version": "v1.32.5"
          },
          {
            "hasBreakingChanges": false,
            "name": "health-probe-proxy",
            "version": "v1.29.1"
          },
          {
            "hasBreakingChanges": false,
            "name": "kubelet-serving-csr-approver",
            "version": "v0.0.7"
          },
          {
            "hasBreakingChanges": false,
            "name": "coredns",
            "version": "v1.11.3-8"
          },
          {
            "hasBreakingChanges": false,
            "name": "metrics-server",
            "version": "v0.7.2-7"
          }
        ],
        "kubernetesVersion": "1.32"
      }
  ]
}

Фактические компоненты могут отличаться в зависимости от конфигурации кластера, включенных надстроек и версии Kubernetes. az aks get-upgrades Используйте команду, чтобы просмотреть полный список компонентов для конкретного кластера.

Каждая запись компонента включает:

  • имя: идентификатор компонента
  • версия: точную версию компонента, установленного в кластере
  • hasBreakingChanges: вводит ли эта версия компонента критические изменения

Подсказка

Помимо использования Azure CLI для запроса сведений о версии компонента, можно также использовать GET upgradeProfiles API с предварительными версиями API AKS (2025-05-04-preview или более поздней версии) для получения подробных данных версий компонентов программным способом.

Дальнейшие шаги