Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описывается поддержка надежности в реестре контейнеров Azure, охватывающая устойчивость внутри региона через зоны доступности и устойчивость между регионами через георепликацию.
Реестр контейнеров — это служба управляемого реестра контейнеров, используемая для хранения частных образов контейнеров Docker и связанных артефактов для развертываний контейнеров. Дополнительные сведения см. в разделе "Общие сведения о реестре контейнеров".
Надежность — это общая ответственность между вами и корпорацией Майкрософт. Это руководство позволяет определить, какие варианты надежности соответствуют конкретным бизнес-целям и целям простоя.
Рекомендации по развертыванию в производственной среде
Для рабочих нагрузок рекомендуется выполнить следующие действия.
Используйте уровень "Премиум" в реестре контейнеров, который предоставляет наиболее комплексные функции надежности. Уровень "Премиум" также предоставляет более высокие ограничения производительности, расширенные функции безопасности и расширенные возможности, необходимые для рабочих нагрузок контейнера в рабочей среде. Дополнительные сведения о уровнях служб и функциях см. в разделе "Уровни служб реестра контейнеров".
Активируйте резервирование зоны, чтобы защититься от отказов на уровне зоны в пределах региона.
Для сценариев с несколькими регионами настройте георепликацию для распространения реестра в нескольких регионах на основе конкретных географических требований и требований к соответствию.
Обзор архитектуры надежности
Реестр контейнеров основан на распределенной инфраструктуре Azure для обеспечения высокой доступности и устойчивости данных. Служба состоит из нескольких ключевых компонентов, которые работают вместе для обеспечения надежности. На следующей схеме показана архитектура основной службы.
Плоскость управления — это централизованный компонент управления в домашнем регионе для конфигурации реестра, конфигурации проверки подлинности и политик репликации.
Плоскость данных — это распределенная служба, которая обрабатывает операции отправки и извлечения образа контейнера в регионах и зонах доступности.
Уровень хранилища — это решение службы хранилища Azure, которое сохраняет образы контейнеров и артефакты. Она включает автоматическую дедупликацию, шифрование неактивных данных и встроенную репликацию.
Корпорация Майкрософт отвечает за управление базовой инфраструктурой реестра контейнеров, которая включает следующие типы обслуживания:
Обслуживание уровня управления для управления реестрами
Обслуживание плоскости данных для операций с образами контейнеров в регионах и зонах доступности
В качестве клиента вы несете ответственность за следующие действия:
Устойчивость на уровне приложения: Реализуйте соответствующую логику повторных попыток и обработку отработки отказа в приложениях контейнеров и платформах оркестрации.
Конфигурация устойчивости зоны: Включите избыточность зоны для регионов, в которых развернут реестр контейнеров.
Конфигурация георепликации: Выберите подходящие регионы для георепликации на основе географического распределения, соответствия и требований к производительности.
Реестр контейнеров также поддерживает задачи, которые помогут автоматизировать сборки контейнеров и операции обслуживания. Задачи выполняются в управляемой корпорацией Майкрософт вычислительной инфраструктуре и поддерживают вручную, на основе событий или запланированных триггеров. Дополнительные сведения см. в разделе "Автоматизация сборок и обслуживания образов контейнеров" с помощью задач реестра контейнеров.
Note
Реестр контейнеров поддерживает подключенные реестры, которые являются локальными или удаленными репликами, которые синхронизируются с облачным реестром контейнеров. При использовании подключенных реестров вы несете ответственность за их настройку в соответствии с требованиями к надежности. Подключенные реестры недоступны для этой статьи.
Временные сбои
Временные ошибки являются короткими, периодическими сбоями в компонентах. Они часто происходят в распределенной среде, такой как облачная платформа, и являются обычной частью операций. Временные ошибки исправляют себя через короткий период времени. Важно, чтобы приложения могли обрабатывать временные ошибки, обычно повторяя затронутые запросы.
Все облачные приложения должны следовать рекомендациям по обработке временных ошибок Azure при обмене данными с любыми размещенными в облаке API, базами данных и другими компонентами. Дополнительные сведения см. в Рекомендациях по обработке временных сбоев.
Реестр контейнеров обрабатывает временные ошибки внутри нескольких механизмов. Служба реализует автоматическую логику повторных попыток для операций реестра и поддерживает пул подключений для эффективного использования ресурсов. Операции реестра контейнеров предназначены для идемпотентных операций, что позволяет безопасно повторить операции принудительной отправки и извлечения. Задачи автоматически обрабатывают временные ошибки при выполнении многих типов операций.
Для клиентских приложений, использующих реестр контейнеров, реализуйте соответствующие политики повторных попыток с экспоненциальным обратным выходом при выполнении операций реестра. Используйте официальный клиент Docker или пакеты SDK реестра контейнеров, которые включают встроенные механизмы повторных попыток для распространенных временных сбоев.
Поддержка зоны доступности
Зоны доступности — это физически отдельные группы центров обработки данных в каждом регионе Azure. При сбое одной зоны службы могут переключиться на одну из оставшихся зон.
Избыточность зоны на уровне "Премиум" реестра контейнеров обеспечивает защиту от сбоев одной зоны. Избыточность между зонами позволяет распределять данные реестра и операции между несколькими зонами доступности в пределах региона. Операции извлечения и загрузки образа контейнера продолжают функционировать во время сбоя зоны с автоматической обработкой отказа в здоровые зоны.
После включения избыточности зоны она обеспечивает более высокую доступность по сравнению с развертываниями с одной зоной, не требуя изменения конфигурации для рабочих нагрузок контейнера.
Поддержка регионов
Премиум реестры с избыточностью по зонам можно развернуть в любом регионе, поддерживающем зоны доступности.
Если зоны доступности добавляются в существующий регион, все ранее созданные реестры не будут автоматически избыточными по зонам. Чтобы сделать его избыточным в зоне, необходимо создать новый реестр Premium.
Requirements
Чтобы включить зональную избыточность, необходимо использовать уровень "Премиум".
Considerations
Задачи реестра контейнеров в настоящее время не поддерживают зоны доступности. Избыточность зоны применяется к самой службе реестра, но не к задачам или их операциям.
Cost
Избыточность зоны включается в реестры уровня "Премиум" без дополнительных затрат. Ценовая категория "Премиум" выше уровня "Базовый" и "Стандартный". Однако само избыточность зоны не взимает дополнительные расходы за пределы цен на цену ценовой категории "Премиум".
Настройка поддержки зоны доступности
Создайте реестр, избыточный между зонами. Дополнительные сведения см. в разделе "Создание реестра, избыточного между зонами" в реестре контейнеров.
Включите избыточность зоны в существующем реестре. Настроить избыточность зоны можно только при создании реестра. Чтобы включить избыточность зоны для реестров, необходимо создать новый реестр Premium в поддерживаемом регионе и перенести образы контейнеров.
Существующие реестры уровня "Базовый" или "Стандартный" можно обновить до уровня "Премиум". Однако само обновление не включает избыточность зоны, и вам по-прежнему нужно создать новый реестр на уровне "Премиум".
Чтобы перенести артефакты между реестрами, можно создать конвейер передачи. Кроме того, можно импортировать образы контейнеров в реестр контейнеров.
Если реестр использует георепликацию и избыточность зон вместе, можно настроить избыточность зоны на каждой региональной реплике. Дополнительные сведения см. в разделе "Создание реплики, избыточной по зонам" в реестре контейнеров. После создания георепликации можно изменить только параметр избыточности зоны, удалив и повторно создав репликацию.
Отключите избыточность в зоне. Избыточность зоны не может быть отключена после её включения для реестра. Если вам нужен реестр без зонной избыточности, необходимо создать новый реестр и провести миграцию образов контейнеров.
Нормальная работа
В этом разделе описывается, что ожидать, когда ресурсы реестра контейнеров настроены для избыточности зоны и все зоны доступности работают.
Маршрутизация трафика между зонами: Реестр контейнеров использует внутреннюю функцию маршрутизации для автоматического распределения операций плоскости данных между всеми зонами доступности в пределах региона. Служба реестра автоматически направляет запросы к работоспособным зонам, не требуя внешних подсистем балансировки нагрузки.
Репликация данных между зонами: Данные реестра, включая образы контейнеров, манифесты и метаданные, асинхронно реплицируются в нескольких зонах доступности. Изменения реплицируются быстро между зонами для обеспечения высокой доступности и устойчивости данных. Репликация выполняется асинхронно, но обычно выполняется в течение нескольких минут, и все зоны остаются доступными для операций чтения и записи во время репликации.
Опыт понижения зоны
В этом разделе описывается, что следует ожидать, когда ресурсы реестра контейнеров настроены для избыточности зоны и возникает сбой зоны доступности.
Когда зона становится недоступной, реестр контейнеров автоматически обрабатывает процесс отработки отказа с минимальным воздействием на операции реестра.
Обнаружение и ответ: Платформа реестра контейнеров автоматически обнаруживает сбои в зоне доступности и инициирует ответ. Служба автоматически направляет трафик в оставшиеся здоровые зоны. Нет необходимости в ручном вмешательстве для инициации переключения зоны.
Уведомление: События сбоя зоны можно отслеживать с помощью работоспособности служб Azure и с помощью метрик доступности реестра в Azure Monitor. Настройте оповещения в этих службах для получения уведомлений о проблемах уровня зоны.
Активные запросы: Если зона доступности недоступна, все запросы, которые выполняются, подключены к ресурсам в зоне доступности сбоя, завершаются. Они должны быть пересмотрены.
Ожидаемая потеря данных: Все последние записи, сделанные в неисправной зоне, могут не реплицироваться в другие регионы, что означает, что они могут быть потеряны до восстановления зоны. Как правило, потеря данных будет меньше 15 минут, но это не гарантируется.
Ожидаемое время простоя: Небольшое время простоя может возникать во время автоматической отработки отказа, так как трафик перенаправляется в здоровые зоны. Это время простоя обычно составляет несколько секунд для большинства операций реестра. Рекомендуется следовать рекомендациям по обработке временных ошибок, чтобы свести к минимуму влияние отработки отказа зоны в приложениях.
Перенаправка трафика: Платформа автоматически перенаправляет трафик в здоровые зоны, не требуя внесения изменений в конфигурацию.
Failback
При восстановлении затронутой зоны доступности реестр контейнеров автоматически распределяет операции по всем доступным зонам, включая восстановленную зону. Служба перебалансирует трафик и распределение данных, не требуя ручного вмешательства или вызывая нарушение работы службы.
Тестирование зон на сбои
Платформа реестра контейнеров управляет маршрутизацией трафика, отработкой отказа и восстановлением размещения для реестров, избыточных между зонами. Так как эта функция полностью управляема, не требуется инициировать или проверять процессы сбоя зоны доступности.
Поддержка нескольких регионов
Реестр контейнеров обеспечивает встроенную поддержку нескольких регионов через георепликацию, если реестр использует уровень "Премиум". Георепликация создает реплики реестра в нескольких регионах. Регион, который развертывается ресурс реестра, называется домашним регионом.
Георепликация обеспечивает устойчивость к региональным сбоям. Если реестр геореплицируется и происходит региональный сбой, данные реестра по-прежнему будут доступны из выбранных регионов. Если георепликация не включена, данные могут стать недоступными во время сбоя региона.
Вы также можете использовать георепликацию для получения локального доступа к образам контейнеров в этих регионах и уменьшению задержки для глобально распределенных приложений.
При развертывании реестра контейнеров и включении георепликации Microsoft использует диспетчер трафика Azure для распространения запросов плоскости данных между репликами и автоматического отработки отказа между репликами, если региональная реплика недоступна.
Георепликация реестра контейнеров не зависит от парных регионов Azure. Вы можете выбрать любое сочетание регионов Azure для репликации на основе конкретных географических, производительности и соответствия требованиям. Каждая геореплицированная функция реестра в качестве конечной точки реестра. Она поддерживает большинство операций реестра, включая отправку образов, извлечение и задачи управления.
В этом разделе приведены сведения о георепликации, так как она связана с надежностью. Дополнительные сведения см. в разделе "Георепликация в реестре контейнеров".
Поддержка регионов
Георепликация доступна во всех регионах Azure, где поддерживается уровень "Премиум". Вы можете реплицировать в любое сочетание регионов независимо от того, связаны ли эти регионы Azure.
Requirements
Чтобы включить георепликацию, необходимо использовать уровень "Премиум".
Considerations
Реплики, избыточные между зонами: При использовании георепликации в регионах, поддерживающих зоны доступности, можно настроить избыточность зоны в каждой реплике независимо.
Плоскость управления: Плоскость управления выполняется в домашнем регионе. Если домашний регион недоступен, операции плоскости управления недоступны, и вы не сможете изменить конфигурацию реестра.
Задачи: Задачи реестра контейнеров в настоящее время не поддерживают геореплики. Задачи всегда выполняются в домашнем регионе. Если домашний регион недоступен, задача не выполняется.
Cost
Каждый геореплицированный регион оплачивается отдельно в соответствии с ценами категории "Премиум" для соответствующего региона. Плата за исходящий трафик также применяется для передачи данных между регионами во время начальной репликации и текущей синхронизации.
Настройка поддержки нескольких регионов
Георепликация может быть настроена во время создания реестра или добавления в существующие реестры Premium. Георепликация можно настроить с помощью портала Azure, Azure CLI, Azure PowerShell или шаблонов Azure Resource Manager.
Создайте геореплицированный реестр. Настройте георепликацию после создания реестра, указав дополнительные регионы.
Включите георепликацию в существующем реестре. Чтобы включить возможности георепликации, обновите существующие реестры уровня "Базовый" или "Стандартный" до уровня "Премиум". В любое время можно изменить регионы репликации. Дополнительные сведения см. в разделе "Настройка георепликации".
Вы можете настроить зональную избыточность на каждой региональной реплике. Дополнительные сведения см. в разделе "Создание реплики, избыточной по зонам" в реестре контейнеров. После создания георепликации можно изменить только параметр избыточности зоны, удалив и повторно создав репликацию.
Отключите георепликацию. Удалите отдельные региональные реплики с помощью портала Azure или средств командной строки. Реестр домашних регионов не может быть удален.
Нормальная работа
В этом разделе описывается, чего ожидать, когда реестр настроен для георепликации и все регионы работают.
Маршрутизация трафика между регионами: Реестр контейнеров работает в активной конфигурации, где каждая региональная конечная точка может обслуживать все операции плоскости данных независимо, включая операции чтения и записи. Операции плоскости данных, такие как операции отправки контейнеров и извлечения, автоматически направляются с помощью диспетчера трафика с критериями на основе производительности, чтобы определить оптимальную региональную конечную точку для производительности.
Репликация данных между регионами: Георепликация автоматически синхронизирует образы контейнеров и артефакты во всех настроенных регионах с помощью асинхронной репликации с конечной согласованность. Служба использует доступное для содержимого хранилище, чтобы эффективно реплицировать только уникальные слои изображений. Этот подход сводит к минимуму использование пропускной способности и время репликации. Операции чтения и записи работают во всех геореплицированных регионах. Изменения, внесенные в любой регион, реплицируются во все остальные регионы.
Репликация обычно завершается в течение нескольких минут изменений. Однако время репликации данных не гарантируется. Большие образы контейнеров или обновления высокой частоты могут занять больше времени для репликации во всех регионах.
Опыт региональной недоступности
В этом разделе описывается, чего ожидать, когда реестр настроен для георепликации и возникает сбой в основном регионе.
Когда регион становится недоступным, операции контейнеров могут продолжать использовать альтернативные региональные конечные точки.
Обнаружение и ответ: Реестр контейнеров отслеживает работоспособность каждой региональной реплики и отвечает за перенаправление трафика в другой регион.
Уведомление: Работоспособности регионов можно отслеживать с помощью Службы Работоспособности служб Azure. Настройте оповещения для получения уведомлений о проблемах на уровне региона. Вы также можете отслеживать метрики доступности реестра для каждой региональной конечной точки для обнаружения проблем.
Активные запросы: Все активные запросы, выполняемые в настоящее время в недоступном регионе, завершаются ошибкой и должны быть извлечены, чтобы они могли быть перенаправлены в здоровый регион.
Ожидаемая потеря данных: Любые последние записи, сделанные в неисправном регионе, могут не реплицироваться в другие регионы. Этот сбой означает, что они могут быть потеряны до тех пор, пока регион не восстановится. Как правило, потеря данных, как ожидается, будет меньше 15 минут, но это не гарантируется.
Ожидаемое время простоя: Для операций плоскости данных ожидается небольшое время простоя для операций плоскости данных во время отработки отказа, что обычно занимает от 1 до 2 минут.
Если основной регион недоступен, операции в контрольной плоскости недоступны, пока регион не восстановится.
Перенаправка трафика: Когда регион становится недоступным, операции контейнера автоматически направляются в другую реплику в работоспособном регионе. Клиентам не нужно изменять конечную точку, в которой они взаимодействуют с реестром. Корпорация Майкрософт автоматически обрабатывает маршрутизацию, отработку отказа и восстановление размещения.
Failback
При восстановлении региона операции плоскости данных автоматически возобновляются для этой региональной конечной точки с помощью маршрутизации диспетчера трафика. Служба синхронизирует все изменения, происходящие во время сбоя, с помощью асинхронной репликации с конечной согласованности.
Тестирование сбоев в регионе
Вы не можете имитировать сбой одного из регионов, связанных с реестром, но вы можете проверить возможность отработки отказа приложения между регионами. Вы можете имитировать региональную отработку отказа, временно отключив геореплики, которая удаляет их из маршрутизации диспетчера трафика. Затем можно убедиться, что операции контейнеров успешно выполняют отработку отказа в альтернативные регионы без фактического сбоя региона. Дополнительные сведения см. в разделе "Временное отключение маршрутизации в репликацию".
При повторном включении реплики диспетчер трафика возобновляет маршрутизацию трафика в повторно включенную реплику. Кроме того, метаданные и изображения синхронизируются с конечной согласованность с повторной репликой, чтобы обеспечить согласованность данных во всех регионах.
Backups
Для большинства решений не следует полагаться исключительно на резервные копии. Вместо этого используйте другие возможности, описанные в этом руководстве, для поддержки требований к устойчивости. Однако резервные копии защищают от некоторых рисков, которые другие методы не обеспечивают. Дополнительные сведения см. в разделе "Избыточность", "Репликация" и "Резервное копирование".
Реестр контейнеров поддерживает экспорт образов контейнеров и артефактов из реестра во внешнее хранилище или альтернативные реестры. Используйте возможности импорта и экспорта реестра контейнеров или стандартные команды Docker для создания копий критически важных образов контейнеров для сценариев аварийного восстановления.
Соглашение об уровне обслуживания
Соглашение об уровне обслуживания (SLA) для Реестра контейнеров описывает ожидаемую доступность службы и условия, которые необходимо выполнить для достижения этого ожидания доступности. Для получения дополнительной информации см. Соглашения об уровне обслуживания для онлайн-сервисов.