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


Обновление Управляемый экземпляр SQL Azure напрямую подключен к Azure Arc с помощью ИНТЕРФЕЙСА командной строки

В этой статье описывается, как обновить Управляемый экземпляр SQL Azure, развернутый непосредственно на подключенном контроллере данных с поддержкой Azure Arc с помощью Azure CLI (az).

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

Установка инструментов

Прежде чем продолжить выполнение задач в этой статье, установите следующее:

Связана arcdata версия расширения и версия образа. Убедитесь, что у вас есть правильная arcdata версия расширения, соответствующая версии образа, до которой требуется обновить в журнале версий.

Ограничения

Перед обновлением управляемого экземпляра контроллер данных Azure Arc необходимо обновить до новой версии.

Если интеграция Active Directory включена, соединитель Active Directory необходимо обновить до новой версии, прежде чем можно будет обновить управляемый экземпляр.

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

В настоящее время процесс пакетного обновления недоступен.

Обновление управляемого экземпляра

Сначала можно выполнить сухой запуск. Сухой запуск проверяет схему версии и перечисляет, какие экземпляры будут обновлены. Используйте --dry-run. Например:

az sql mi-arc upgrade --resource-group <resource group> --name <instance name> --dry-run 

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

Preparing to upgrade sql sqlmi-1 in namespace arc to data controller version.
****Dry Run****1 instance(s) would be upgraded by this commandsqlmi-1 would be upgraded to <version-tag>.

Общего назначения

Во время обновления Управляемый экземпляр SQL общего назначения модуль pod будет завершен и перепродачен в новой версии. Это приведет к кратковременному простою при создании нового pod. Чтобы гарантировать минимальный перерыв в работе, для приложения нужно будет обеспечить отказоустойчивость, например, логику повторных попыток подключения. См. основные принципы надежности, чтобы получить дополнительные сведения об архитектуре устойчивости, и руководство по повторным попыткам для служб Azure.

Критически важный для бизнеса

Во время обновления Управляемый экземпляр SQL критически важный для бизнеса с несколькими репликами:

  • Вторичные модули pod реплики завершаются и повторно создаются в новой версии.
  • После обновления реплик основной отработки отказа на обновленную реплику
  • Предыдущий основной модуль pod завершается и перепроиздается в новой версии и становится вторичным.

При отработки отказа происходит краткое время простоя.

Обновление

Чтобы обновить управляемый экземпляр, используйте следующую команду:

az sql mi-arc upgrade --resource-group <resource group> --name <instance name> --desired-version <imageTag> [--no-wait]

Пример:

az sql mi-arc upgrade --resource-group myresource-group --name sql1 --desired-version v1.6.0_2022-05-02 [--no-wait]

Azure Monitor

Ход обновления можно отслеживать с помощью CLI.

Пример использования CLI

az sql mi-arc show --resource-group <resource group> --name <instance name>

Выходные данные

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

Во время обновления State будет иметь значение Updating, а для Running Version будет указана текущая версия:

Status:
  Log Search Dashboard:  https://30.88.222.48:5601/app/kibana#/discover?_a=(query:(language:kuery,query:'custom_resource_name:sqlmi-1'))
  Metrics Dashboard:     https://30.88.221.32:3000/d/40q72HnGk/sql-managed-instance-metrics?var-hostname=sqlmi-1-0
  Observed Generation:   2
  Primary Endpoint:      30.76.129.38,1433
  Ready Replicas:        1/1
  Running Version:       v1.5.0_2022-04-05
  State:                 Updating

После завершения обновления State будет иметь значение Ready, а для Running Version будет указана новая версия:

Status:
  Log Search Dashboard:  https://30.88.222.48:5601/app/kibana#/discover?_a=(query:(language:kuery,query:'custom_resource_name:sqlmi-1'))
  Metrics Dashboard:     https://30.88.221.32:3000/d/40q72HnGk/sql-managed-instance-metrics?var-hostname=sqlmi-1-0
  Observed Generation:   2
  Primary Endpoint:      30.76.129.38,1433
  Ready Replicas:        1/1
  Running Version:       v1.6.0_2022-05-02
  State:                 Ready

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

Если для требуемой версии задана определенная версия, задание начального загрузчика попытается обновить до этой версии, пока она не завершится успешно. Если обновление выполнено успешно, RunningVersion свойство спецификации обновляется до новой версии. Обновление может завершиться ошибкой для таких сценариев, как неправильный тег образа, не удается подключиться к реестру или репозиторию, недостаточно ЦП или памяти, выделенной контейнерам, или недостаточно хранилища.

  1. Выполните следующую команду, чтобы узнать, отображается Error ли любое из модулей pod состояние или имеется большое количество перезапусков:

    kubectl get pods --namespace <namespace>
    
  2. Чтобы просмотреть события, чтобы узнать, есть ли ошибка, выполните команду

    kubectl describe pod <pod name> --namespace <namespace>
    
  3. Чтобы получить список контейнеров в модулях pod, выполните команду

    kubectl get pods <pod name> --namespace <namespace> -o jsonpath='{.spec.containers[*].name}*'
    
  4. Чтобы получить журналы для контейнера, выполните команду

    kubectl logs <pod name> <container name> --namespace <namespace>
    

Чтобы просмотреть распространенные ошибки и способы их устранения, перейдите к ресурсам по устранению неполадок.