Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описывается обновление косвенно подключенного контроллера данных с поддержкой Azure Arc с помощью Azure CLI (az
).
Во время обновления контроллера данных могут обновляться части плоскости управления данными, такие как пользовательские определения ресурсов (CRD) и контейнеры. Обновление контроллера данных не приведет к простою для служб данных (Управляемый экземпляр SQL или сервера PostgreSQL).
Предварительные условия
Вам потребуется косвенно подключенный контроллер данных с imageTag v1.0.0_2021-07-30 или более поздней версии.
Чтобы проверить версию, выполните следующую команду:
kubectl get datacontrollers -n <namespace> -o custom-columns=BUILD:.spec.docker.imageTag
Установка инструментов
Прежде чем продолжить выполнение задач в этой статье, необходимо установить следующее:
-
Azure CLI (
az
) - Расширение
arcdata
для Azure CLI
В примерах в этой статье используются угловые скобки < ... >
для определения значений, которые необходимо заменить перед запуском скрипта. Замените квадратные скобки и значения внутри квадратных скобок.
Между версией расширения arcdata
и версией образа существует связь. Убедитесь, что у вас есть правильная версия расширения arcdata
, соответствующая той версии образа, до которой вы хотите обновить, в журнале версий .
Просмотр доступных образов и выбор версии
Извлеките список доступных образов для контроллера данных с помощью следующей команды:
az arcdata dc list-upgrades --k8s-namespace <namespace>
Приведенная выше команда возвращает выходные данные, как показано в следующем примере:
Found 2 valid versions. The current datacontroller version is v1.0.0_2021-07-30.
v1.1.0_2021-11-02
v1.0.0_2021-07-30
Обновление контроллера данных
В этом разделе показано, как обновить косвенно подключенный контроллер данных.
Примечание.
Некоторые уровни и режимы служб данных обычно доступны, а некоторые — в предварительной версии. При установке общедоступных и предварительных версий служб на одном контроллере данных невозможно выполнить обновление. Чтобы выполнить обновление, удалите все экземпляры базы данных, которые не являются общедоступными. Список общедоступных служб и служб в предварительной версии можно найти в заметках о выпуске.
Поддерживаемые пути обновления см. в статье Об обновлении служб данных с поддержкой Azure Arc.
Обновление
Перед началом обновления контроллера данных Azure Arc необходимо подключиться и пройти проверку подлинности в кластере Kubernetes и выбрать существующий контекст Kubernetes.
Сначала вы можете выполнить тестовый запуск. Сухой запуск проверяет наличие реестра, схему версии и маркер авторизации частного репозитория (если используется). Чтобы выполнить сухой запуск, используйте --dry-run
параметр в команде az arcdata dc upgrade
. Например:
az arcdata dc upgrade --desired-version <version> --k8s-namespace <namespace> --dry-run --use-k8s
Выходные данные для предыдущей команды:
Preparing to upgrade dc arcdc in namespace arc to version <version-tag>.
Preparing to upgrade dc arcdc in namespace arc to version <version-tag>.
****Dry Run****
Arcdata Control Plane would be upgraded to: <version-tag>
Чтобы обновить контроллер данных, выполните команду az arcdata dc upgrade
, указав тег изображения --desired-version
.
az arcdata dc upgrade --name <data controller name> --desired-version <image tag> --k8s-namespace <namespace> --use-k8s
Пример:
az arcdata dc upgrade --name arcdc --desired-version v1.7.0_2022-05-24 --k8s-namespace arc --use-k8s
Выходные данные предыдущей команды показывают состояние шагов:
Preparing to upgrade dc arcdc in namespace arc to version <version-tag>.
Preparing to upgrade dc arcdc in namespace arc to version <version-tag>.
Creating service account: arc:cr-upgrade-worker
Creating cluster role: arc:cr-upgrade-worker
Creating cluster role binding: arc:crb-upgrade-worker
Cluster role binding: arc:crb-upgrade-worker created successfully.
Cluster role: arc:cr-upgrade-worker created successfully.
Service account arc:cr-upgrade-worker has been created successfully.
Creating privileged job arc-elevated-bootstrapper-job
Мониторинг состояния обновления
Обновление — это двухэтапный процесс. Сначала контроллер обновляется, а затем обновляется стек мониторинга. Ход обновления можно отслеживать с помощью CLI.
Интерфейс командной строки (CLI)
az arcdata dc status show --name <data controller name> --k8s-namespace <namespace> --use-k8s
После завершения обновления выходные данные будут:
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>
Чтобы просмотреть распространенные ошибки и способы их устранения, перейдите к ресурсам по устранению неполадок.