Обновление Управляемый экземпляр SQL Azure напрямую подключен к Azure Arc с помощью ИНТЕРФЕЙСА командной строки
В этой статье описывается, как обновить Управляемый экземпляр SQL Azure, развернутый непосредственно на подключенном контроллере данных с поддержкой Azure Arc с помощью Azure CLI (az
).
Необходимые компоненты
Установка инструментов
Прежде чем продолжить выполнение задач в этой статье, установите следующее:
- Azure CLI (
az
) - Расширение
arcdata
для Azure CLI
Связана 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
свойство спецификации обновляется до новой версии. Обновление может завершиться ошибкой для таких сценариев, как неправильный тег образа, не удается подключиться к реестру или репозиторию, недостаточно ЦП или памяти, выделенной контейнерам, или недостаточно хранилища.
Выполните следующую команду, чтобы узнать, отображается
Error
ли любое из модулей pod состояние или имеется большое количество перезапусков:kubectl get pods --namespace <namespace>
Чтобы просмотреть события, чтобы узнать, есть ли ошибка, выполните команду
kubectl describe pod <pod name> --namespace <namespace>
Чтобы получить список контейнеров в модулях pod, выполните команду
kubectl get pods <pod name> --namespace <namespace> -o jsonpath='{.spec.containers[*].name}*'
Чтобы получить журналы для контейнера, выполните команду
kubectl logs <pod name> <container name> --namespace <namespace>
Чтобы просмотреть распространенные ошибки и способы их устранения, перейдите к ресурсам по устранению неполадок.