Настройка обновлений для членов сети приложений Azure Kubernetes (предварительная версия)

Это важно

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

Сетевое приложение Azure Kubernetes предоставляет гибкий контроль над тем, как применяются обновления минорной версии к участникам. Каждый кластер членов, зарегистрированный в ресурсе Сети приложений Azure Kubernetes, может использовать один из двух режимов обновления в зависимости от уровня управления, который требуется: самостоятельное (SelfManaged) или полностью управляемое (FullyManaged). Эти режимы работают на уровне члена, позволяя выбрать, выполняются ли обновления вручную или автоматически для каждого кластера.

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

Общие рекомендации по режиму обновления

При настройке режимов обновления для членов сети приложений Azure Kubernetes следует учитывать следующие ограничения и рекомендации.

  • Режимы обновления сети приложений Azure Kubernetes применяются только к дополнительным версиям компонентов сети приложений Azure Kubernetes. Они не контролируют или не влияют на обновления на уровне кластера, такие как версии Kubernetes или обновления образа узла.
  • Обновления исправлений всегда применяются автоматически, независимо от режима.
  • Вы выбираете режим обновления для каждого члена во время процесса присоединения. После выбора режим остается в силе для этого члена, пока он не будет удален из ресурса Сети приложений Azure Kubernetes. Невозможно изменить режим обновления для члена без первого удаления и повторного подключения к ресурсу сети приложений Azure Kubernetes.
  • Если при присоединении участника не указан режим обновления, по умолчанию используется SelfManaged.

Автономный режим

В SelfManaged режиме вы указываете дополнительную версию сети приложений Azure Kubernetes для установки и управления при обновлении. Этот режим предназначен для сценариев, в которых требуется управлять дополнительным процессом обновления вручную, а не использовать автоматические обновления. В этом режиме, если --version не указан, по умолчанию используется первая доступная версия N-1. Этот режим также используется по умолчанию, если во время присоединения к члену не указан режим обновления.

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

При использовании SelfManaged режима помните следующее:

  • Обновления разрешены только между последовательными дополнительными версиями (например, от дополнительной версии N до N+1). Пропуск версий (например, обновление с 1.1 до 1.3) не поддерживается.
  • Вы можете выполнить откат только к непосредственно предыдущей версии (N-1), если она была установлена ранее в том же кластере. Откат к любой другой более ранней версии не поддерживается.
  • Несколько последовательных откатов не поддерживаются. Откат можно выполнить только на одну версию назад.

Регистрация в автономном режиме и выбор версии во время присоединения к члену

  • Зарегистрируйтесь в режиме SelfManaged, отдельно укажите версию во время присоединения к системе, используя команду az appnet member join с параметром --upgrade-mode SelfManaged и параметром --version, установленным на требуемую версию.

    az appnet member join \
        --resource-group $APPNET_RG \
        --appnet-name $APPNET_NAME \
        --member-name $APPNET_MEMBER_NAME \
        --member-resource-id /subscriptions/$SUBSCRIPTION/resourcegroups/$AKS_RG/providers/Microsoft.ContainerService/managedClusters/$CLUSTER_NAME \
        --upgrade-mode SelfManaged \
        --version $VERSION
    

Проверка текущей версии

  • Проверьте, какая версия установлена в данный момент на элементе с помощью az appnet member show команды, и обратитесь к Version свойству в выходных данных.

    az appnet member show --member-name $APPNET_MEMBER_NAME --appnet-name $APPNET_NAME --resource-group $APPNET_RG
    

Проверка доступных версий обновления

  • Проверьте, какие версии доступны для каждого режима и версии Kubernetes в регионе, используя az appnet list-versions команду с параметром, --location заданным для интересующего региона. В выходных данных см. AvailableUpgrades столбец, чтобы узнать, какие версии доступны.

    az appnet list-versions --location $LOCATION -o table
    

Запуск обновления

  • Инициируйте обновление с помощью команды az appnet member update с параметром --version, заданным до требуемой версии.

    az appnet member update --resource-group $APPNET_RG --appnet-name $APPNET_NAME --member-name $APPNET_MEMBER_NAME --version $VERSION
    

Откат до предыдущей версии

  • Для отката до ранее установленной версии используйте команду az appnet member update с параметром --version, заданным на желаемую версию для отката. Помните, что поддерживается только откат к непосредственно предшествующей версии (N-1).

    az appnet member update --resource-group $APPNET_RG --appnet-name $APPNET_NAME --member-name $APPNET_MEMBER_NAME --version $VERSION
    

Полностью управляемый режим

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

При использовании FullyManaged режима обновления вы выбираете канал выпуска, определяющий, насколько быстро кластеры-члены принимают новые версии. Сеть приложений Azure Kubernetes отслеживает готовность к выпуску и обновляет члены в соответствии с критериями стабильности канала.

Следующие каналы выпуска доступны для режима FullyManaged:

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

Когда выбран режим FullyManaged, можно указать канал выпуска на stable или rapid. Если опущено, канал по умолчанию имеет значение stable.

Это важно

В FullyManaged режиме сеть приложений Azure Kubernetes автоматически применяет обновления по мере продвижения новых версий через каналы выпуска. Ручное управление временем обновления или выбором версии не поддерживается.

Проверка доступных версий обновления для полностью управляемого режима

  • Проверьте, какая версия каждого канала соответствует заданному региону и версии Kubernetes с помощью az appnet list-versions команды и grep для FullyManaged режима.

    az appnet list-versions --location $LOCATION -o table | grep FullyManaged
    

Регистрация в полностью управляемом режиме и выбор канала обновлений при вступлении в члены

  • Зарегистрируйтесь в режиме FullyManaged и выберите канал выпуска при присоединении, используя команду az appnet member join с параметрами --upgrade-mode FullyManaged и --release-channel, установленными для нужного канала. В следующем примере показано, как выбрать канал Rapid во время присоединения нового участника.

    az appnet member join \
        --resource-group $APPNET_RG \
        --appnet-name $APPNET_NAME \
        --member-name $APPNET_MEMBER_NAME \
        --member-resource-id /subscriptions/$SUBSCRIPTION/resourcegroups/$AKS_RG/providers/Microsoft.ContainerService/managedClusters/$CLUSTER_NAME \
        --upgrade-mode FullyManaged \
        --release-channel Rapid \
        --member-location $LOCATION
    

Обновление выбора канала выпуска

Вы можете обновить выбранный выпуск в любое время. Любые изменения в канале выпуска вступили в силу немедленно.

  • Обновите выбор канала обновлений для существующего члена, используя команду az appnet member update с параметром --release-channel, установленным на требуемый канал. В следующем примере показано, как переключиться на Stable канал для существующего члена:

    az appnet member update --resource-group $APPNET_RG --appnet-name $APPNET_NAME --member-name $APPNET_MEMBER_NAME --release-channel Stable
    

Дополнительные сведения о сети приложений Azure Kubernetes см. в следующих статьях: