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


Обновление образов узлов Службы Azure Kubernetes (AKS)

Служба Azure Kubernetes (AKS) регулярно предоставляет новые образы узлов, поэтому рекомендуется часто обновлять образы узлов, чтобы использовать последние функции AKS. Образы узлов Linux обновляются еженедельно, а образы узлов Windows обновляются ежемесячно. Объявления об обновлении изображений включены в заметки о выпуске AKS и могут занять до недели для развертывания этих обновлений во всех регионах. Вы также можете автоматически обновлять образ узла и планировать их с помощью планового обслуживания. Дополнительные сведения см. в разделе "Автоматическое обновление образов узлов".

В этой статье показано, как обновить образы узлов кластера AKS и как обновить образы пула узлов без обновления версии Kubernetes. Сведения об обновлении версии Kubernetes для кластера см. в статье Обновление кластера AKS.

Примечание.

Кластер AKS должен использовать масштабируемые наборы виртуальных машин для узлов.

Невозможно изменить версию образа узла (например , AKSUbuntu-2204 до AKSUbuntu-1804 или AKSUbuntu-2204-202308.01.0 до AKSUbuntu-2204-202307.27.0).

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

  1. Проверьте наличие доступных обновлений az aks nodepool get-upgrades образа узла с помощью команды.

    az aks nodepool get-upgrades \
        --nodepool-name <node-pool-name> \
        --cluster-name <cluster-name> \
        --resource-group <resource-group>
    
  2. В выходных данных найдите и запишите latestNodeImageVersion значение. Это значение является последней версией образа узла, доступной для пула узлов.

  3. Проверьте текущую версию образа узла, чтобы сравнить ее с последней версией az aks nodepool show с помощью команды.

    az aks nodepool show \
        --resource-group <resource-group> \
        --cluster-name <cluster-name> \
        --name <node-pool-name> \
        --query nodeImageVersion
    
  4. nodeImageVersion Если значение отличается от latestNodeImageVersionзначения, можно обновить образ узла.

Обновление всех образов узлов во всех пулах узлов

  1. Обновите все образы узлов во всех пулах узлов в кластере az aks upgrade с помощью команды с флагом --node-image-only .

    az aks upgrade \
        --resource-group <resource-group> \
        --name <cluster-name> \
        --node-image-only
    
  2. Вы можете проверить состояние образов узлов с помощью kubectl get nodes команды.

    Примечание.

    Эта команда может немного отличаться в зависимости от используемой оболочки. Дополнительные сведения о средах Windows и PowerShell см. в документации по JSONPath Kubernetes.

    kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
    
  3. По завершении обновления используйте az aks show команду, чтобы получить обновленные сведения о пуле узлов. Текущий образ узла отображается в свойстве nodeImageVersion.

    az aks show \
        --resource-group <resource-group> \
        --name <cluster-name>
    

Обновление определенного пула узлов

  1. Обновите образ ОС пула узлов без обновления кластера Kubernetes с помощью az aks nodepool upgrade команды с флагом --node-image-only .

    az aks nodepool upgrade \
        --resource-group <resource-group> \
        --cluster-name <cluster-name> \
        --name <node-pool-name> \
        --node-image-only
    
  2. Вы можете проверить состояние образов узлов с помощью kubectl get nodes команды.

    Примечание.

    Эта команда может немного отличаться в зависимости от используемой оболочки. Дополнительные сведения о средах Windows и PowerShell см. в документации по JSONPath Kubernetes.

    kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
    
  3. По завершении обновления используйте az aks nodepool show команду, чтобы получить обновленные сведения о пуле узлов. Текущий образ узла отображается в свойстве nodeImageVersion.

    az aks nodepool show \
        --resource-group <resource-group> \
        --cluster-name <cluster-name> \
        --name <node-pool-name>
    

Обновление образов узлов со всплеском активности узлов

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

  1. Обновите образы узлов с всплеском узла с помощью az aks nodepool update команды с флагом --max-surge , чтобы настроить количество узлов, используемых для обновлений.

    Примечание.

    Дополнительные сведения о компромиссах для различных параметров --max-surge см. в разделе Настройка обновления со всплеском активности узлов.

    az aks nodepool update \
        --resource-group <resource-group> \
        --cluster-name <cluster-name> \
        --name <node-pool-name> \
        --max-surge 33% \
        --no-wait
    
  2. Вы можете проверить состояние образов узлов с помощью kubectl get nodes команды.

    kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
    
  3. Получите обновленные сведения о пуле узлов, используя az aks nodepool show обновленные сведения о пуле узлов. Текущий образ узла отображается в свойстве nodeImageVersion.

    az aks nodepool show \
        --resource-group <resource-group> \
        --cluster-name <cluster-name> \
        --name <node-pool-name>
    

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