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


Руководство по переносу Oracle WebLogic Server в Служба Azure Kubernetes (AKS) с геоизбыткой

В этом руководстве описан простой и эффективный способ реализации стратегии непрерывности бизнес-процессов и аварийного восстановления для Java с помощью Oracle WebLogic Server (WLS) на Служба Azure Kubernetes (AKS). Решение иллюстрирует резервное копирование и восстановление рабочей нагрузки WLS с помощью простого приложения Jakarta EE на основе базы данных, работающего в AKS. Геоизбыточность — это сложная тема, с множеством возможных решений. Оптимальное решение зависит от уникальных требований. Другие способы реализации геоизбыточности см. в разделе "Ресурсы" в конце этой статьи.

В этом руководстве описано следующее:

  • Используйте оптимизированные для Azure рекомендации по обеспечению высокой доступности и аварийного восстановления (HA/DR).
  • Настройте группу отработки отказа База данных SQL Microsoft Azure в парных регионах.
  • Настройте и настройте основные кластеры WLS в AKS.
  • Настройка геоизбыточности с помощью Azure Backup.
  • Восстановление кластера WLS в дополнительном регионе.
  • Настройте Диспетчер трафика Azure.
  • тестовая отработка отказа.

На следующей схеме показана архитектура, которая вы создаете:

Схема архитектуры решения WLS на виртуальных машинах Azure с высоким уровнем доступности и аварийного восстановления.

Диспетчер трафика Azure проверяет работоспособность регионов и направляет трафик соответствующим образом на уровень приложений. Основной регион имеет полное развертывание кластера WLS. Только основной регион активно обслуживает сетевые запросы от пользователей. Дополнительный регион восстанавливает кластер WLS из резервных копий основного региона, если произошла авария или объявленное событие аварийного восстановления. Дополнительный регион активируется для получения трафика только в том случае, если основной регион испытывает нарушение работы службы.

Диспетчер трафика Azure использует функцию проверки работоспособности Шлюз приложений Azure и оператора WebLogic Kubernetes (WKO) для реализации этой условной маршрутизации. WKO глубоко интегрируется с проверками работоспособности AKS, что позволяет Диспетчер трафика Azure иметь высокий уровень осведомленности о работоспособности рабочей нагрузки Java. Основной кластер WLS выполняется, а вторичный кластер завершает работу.

Цель времени восстановления на основе геоработки отказа (RTO) уровня приложений зависит от времени запуска AKS и запуска дополнительного кластера WLS, который обычно меньше часа. Данные приложения сохраняются и реплицируются в группе отработки отказа База данных SQL Azure с RTO минут или часов и целевой точкой восстановления (RPO) минут или часов. В этой архитектуре azure backup имеет только одну стандартную резервную копию хранилища для конфигурации WLS каждый день. Дополнительные сведения см. в статье "Что такое резервное копирование Служба Azure Kubernetes (AKS)"

Уровень базы данных состоит из группы отработки отказа База данных SQL Azure с первичным сервером и сервером-получателем. Основной сервер находится в активном режиме чтения и записи и подключен к основному кластеру WLS. Сервер-получатель находится в пассивном режиме только для готовности и подключен к вторичному кластеру WLS. Геоработка отказа переключает все базы данных-получатели в группе на основную роль. Сведения о географической отработки отказа RPO и RTO База данных SQL Azure см. в разделе "Обзор непрерывности бизнес-процессов".

Эта статья была написана с помощью службы База данных SQL Azure, так как в этой статье используются функции высокой доступности этой службы. Другие варианты базы данных возможны, но вы должны учитывать функции высокой доступности любой выбранной базы данных. Дополнительные сведения, включая сведения о том, как оптимизировать конфигурацию источников данных для репликации, см. в разделе "Настройка источников данных для oracle Fusion Middleware Active-Passive Deployment".

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

Примечание.

В этой статье необходимо часто создавать уникальные идентификаторы для различных ресурсов. В этой статье используется соглашение <initials><sequence-number> о префиксе. Например, если ваше имя Эмили Хуанита Бернал, будет уникальным идентификатором ejb01. Для дополнительной диамбигии можно добавить текущую дату в MMDD формате, например ejb010307.

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

  • Подписка Azure. Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начать работу.

  • Убедитесь, что у вас есть Owner роль или Contributor User Access Administrator роли в подписке. Чтобы проверить назначение, выполните действия, описанные в разделе "Перечисление назначений ролей Azure" с помощью портал Azure.

  • Подготовьте локальный компьютер с установленной системой Windows, Linux или macOS.

  • Чтобы выполнить команды Azure CLI, установите Azure CLI версии 2.54.0 или более поздней.

  • Установите и настройте kubectl.

  • Установите и настройте Git.

  • Установите реализацию Java SE версии 17 или более поздней версии, например сборку OpenJDK от Майкрософт.

  • Установите Maven, версию 3.9.3 или более позднюю версию.

  • У вас есть учетные данные для учетной записи единого входа Oracle. Сведения о создании учетной записи Oracle см. в разделе "Создание учетной записи Oracle".

  • Чтобы принять условия лицензии для WLS, выполните следующие действия.

    1. Посетите реестр контейнеров Oracle и войдите в систему.
    2. Если у вас есть право на поддержку, выберите по промежуточному слоям, а затем найдите и выберите weblogic_cpu.
    3. Если у вас нет прав на поддержку из Oracle, выберите по промежуточному слоям, а затем найдите и выберите weblogic.
    4. Принимается лицензионное соглашение.
  • Для запуска WLS в AKS требуется понимание доменов WLS. Дополнительные сведения о доменах WLS см. в разделе "Решение о том, следует ли использовать предварительно созданные приложения Azure Marketplace" для Служба Azure Kubernetes приложений WebLogic Server. В этой статье предполагается, что вы используете WLS в AKS с помощью модели в исходном типе домена образа , с журналами транзакций и хранилищами во внешней базе данных и без внешнего хранилища.

Настройка группы отработки отказа База данных SQL Azure в парных регионах

В этом разделе описано, как создать группу База данных SQL Azure отработки отказа в парных регионах для использования с кластерами и приложением WLS. В следующем разделе описана настройка WLS для хранения данных сеанса и данных журнала транзакций (TLOG) в этой базе данных. Эта практика согласуется с архитектурой максимальной доступности Oracle (MAA). Это руководство предоставляет адаптацию Azure для MAA. Дополнительные сведения об MAA см. в статье Oracle Maximum Availability Architecture.

Сначала создайте первичную База данных SQL Azure, выполнив действия портал Azure в кратком руководстве. Создание отдельной базы данных — База данных SQL Azure. Следуйте инструкциям, но не включая раздел "Очистка ресурсов". Используйте следующие инструкции, как описано в статье, а затем вернитесь к этой статье после создания и настройки База данных SQL Azure:

  1. Когда вы перейдете к разделу "Создание одной базы данных", выполните следующие действия.

    1. На шаге 4 для создания новой группы ресурсов сохраните значение имени группы ресурсов, например myResourceGroup.
    2. На шаге 5 для имени базы данных сохраните значение имени базы данных, например mySampleDatabase.
    3. На шаге 6 для создания сервера выполните следующие действия.
      1. Сохраните уникальное имя сервера, например sqlserverprimary-ejb120623.
      2. В поле Расположение выберите Восточная часть США.
      3. Для метода проверки подлинности выберите "Использовать проверку подлинности SQL".
      4. Сохраните значение входа администратора сервера, например azureuser.
      5. Сохраните значение пароля .
    4. На шаге 8 для среды рабочей нагрузки выберите "Разработка". Просмотрите описание и рассмотрите другие варианты рабочей нагрузки.
    5. На шаге 11 для избыточности хранилища резервных копий выберите локально избыточное хранилище резервных копий. Рассмотрим другие варианты резервного копирования. Дополнительные сведения см. в разделе избыточности хранилища резервных копий автоматических резервных копий в База данных SQL Azure.
    6. На шаге 14 в конфигурации правил брандмауэра для разрешения доступа к этому серверу служб и ресурсов Azure нажмите кнопку "Да".
  2. Когда вы перейдете к разделу "Запрос базы данных", выполните следующие действия.

    1. На шаге 3 введите сведения о входе администратора сервера проверки подлинности SQL для входа.

      Примечание.

      Если сбой входа с сообщением об ошибке, аналогичным клиенту с IP-адресом "xx.xx.xx", не разрешен доступ к серверу, выберите allowlist IP xx.xx.xx.xx на сервере <your-sqlserver-name> в конце сообщения об ошибке. Дождитесь завершения обновления правил брандмауэра сервера, а затем нажмите кнопку "ОК ".

    2. После выполнения примера запроса на шаге 5 очистите редактор и создайте таблицы.

  1. Чтобы создать схему, введите следующие запросы:

    1. Чтобы создать схему для TLOG, введите следующий запрос:

      create table TLOG_msp1_WLStore (ID DECIMAL(38) NOT NULL, TYPE DECIMAL(38) NOT NULL, HANDLE DECIMAL(38) NOT NULL, RECORD VARBINARY(MAX) NOT NULL, PRIMARY KEY (ID));
      create table TLOG_msp2_WLStore (ID DECIMAL(38) NOT NULL, TYPE DECIMAL(38) NOT NULL, HANDLE DECIMAL(38) NOT NULL, RECORD VARBINARY(MAX) NOT NULL, PRIMARY KEY (ID));
      create table TLOG_msp3_WLStore (ID DECIMAL(38) NOT NULL, TYPE DECIMAL(38) NOT NULL, HANDLE DECIMAL(38) NOT NULL, RECORD VARBINARY(MAX) NOT NULL, PRIMARY KEY (ID));
      create table TLOG_msp4_WLStore (ID DECIMAL(38) NOT NULL, TYPE DECIMAL(38) NOT NULL, HANDLE DECIMAL(38) NOT NULL, RECORD VARBINARY(MAX) NOT NULL, PRIMARY KEY (ID));
      create table TLOG_msp5_WLStore (ID DECIMAL(38) NOT NULL, TYPE DECIMAL(38) NOT NULL, HANDLE DECIMAL(38) NOT NULL, RECORD VARBINARY(MAX) NOT NULL, PRIMARY KEY (ID));
      create table wl_servlet_sessions (wl_id VARCHAR(100) NOT NULL, wl_context_path VARCHAR(100) NOT NULL, wl_is_new CHAR(1), wl_create_time DECIMAL(20), wl_is_valid CHAR(1), wl_session_values VARBINARY(MAX), wl_access_time DECIMAL(20), wl_max_inactive_interval INTEGER, PRIMARY KEY (wl_id, wl_context_path));
      

      После успешного выполнения появится сообщение Query succeeded: Affected rows: 0.

      Эти таблицы баз данных используются для хранения данных журнала транзакций (TLOG) и данных сеанса для кластеров и приложений WLS. Дополнительные сведения см. в статье Об использовании хранилища TLOG JDBC и использовании базы данных для постоянного хранилища (сохраняемость JDBC).

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

      CREATE TABLE COFFEE (ID NUMERIC(19) NOT NULL, NAME VARCHAR(255) NULL, PRICE FLOAT(32) NULL, PRIMARY KEY (ID));
      CREATE TABLE SEQUENCE (SEQ_NAME VARCHAR(50) NOT NULL, SEQ_COUNT NUMERIC(28) NULL, PRIMARY KEY (SEQ_NAME));
      

      После успешного выполнения появится сообщение Query succeeded: Affected rows: 0.

Теперь вы закончили работу со статьей "Краткое руководство. Создание одной базы данных - База данных SQL Azure".

Затем создайте группу отработки отказа База данных SQL Azure, выполнив портал Azure действия, описанные в разделе "Настройка группы отработки отказа для База данных SQL Azure". Вам потребуется только следующие разделы: создание группы отработки отказа и тестирование плановая отработка отказа. Выполните следующие действия, как описано в статье, а затем вернитесь к этой статье после создания и настройки группы отработки отказа База данных SQL Azure:

  1. Когда вы перейдете к разделу "Создание группы отработки отказа", выполните следующие действия.

    1. На шаге 5 для создания группы отработки отказа выберите параметр для создания нового сервера-получателя, а затем выполните следующие действия.
      1. Введите и сохраните имя группы отработки отказа, например имя отказоустойчивой группы-ejb120623.
      2. Введите и сохраните уникальное имя сервера, например sqlserversecondary-ejb120623.
      3. Введите тот же администратор сервера и пароль, что и основной сервер.
      4. Для расположения выберите другой регион, отличный от региона, используемого для базы данных-источника.
      5. Убедитесь, что выбрана служба Azure для доступа к серверу .
    2. На шаге 5 для настройки баз данных в группе выберите базу данных, созданную на основном сервере, например mySampleDatabase.
  2. Завершив все действия в разделе "Тест тестирования плановая отработка отказа", откройте страницу группы отработки отказа и используйте ее для тестов отработки отказа кластеров WLS позже.

Получение имени администратора JDBC строка подключения и имени администратора базы данных для группы отработки отказа

Ниже приведены инструкции по получении имени пользователя JDBC строка подключения и базы данных для базы данных в группе отработки отказа. Эти значения отличаются от соответствующих значений базы данных-источника.

  1. В портал Azure найдите группу ресурсов, в которой развернута база данных-источник.

  2. В списке ресурсов выберите базу данных-источник с типом базы данных SQL.

  3. В разделе Параметры выберите Строки подключения.

  4. Выберите JDBC.

  5. В текстовой области в разделе JDBC (проверка подлинности SQL) выберите значок копирования, чтобы поместить значение JDBC строка подключения в буфер обмена.

  6. В текстовом редакторе вставьте значение. Вы редактируете его на другом шаге.

  7. Вернитесь в группу ресурсов.

  8. Выберите ресурс типа SQL Server , содержащий базу данных, которую вы только что рассмотрели на предыдущих шагах.

  9. В разделе Управление данными выберите Группы отработки отказа.

  10. В таблице в середине страницы выберите группу отработки отказа.

  11. В текстовой области в конечной точке прослушивателя чтения и записи выберите значок копирования, чтобы поместить значение JDBC строка подключения в буфер обмена.

  12. Вставьте значение в новую строку в текстовом редакторе. В текстовом редакторе теперь должны быть строки, аналогичные следующему примеру:

    jdbc:sqlserver://ejb010307db.database.windows.net:1433;database=ejb010307db;user=azureuser@ejb010307db;password={your_password_here};encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;
    ejb010307failover.database.windows.net
    
  13. Создайте новую строку с помощью следующих изменений:

    1. Скопируйте всю первую строку.

    2. Измените часть имени узла URL-адреса, чтобы использовать имя узла из строки конечной точки прослушивателя чтения и записи.

    3. Удалите все после name=value пары .database Другими словами, удалите все, включая и после ; сразу после database=ejb010307db.

      По завершении строка должна выглядеть примерно так:

      jdbc:sqlserver://ejb010307failover.database.windows.net:1433;database=ejb010307db
      

      Это значение — строка подключения JDBC.

  14. В том же текстовом редакторе наследуйте имя пользователя базы данных, получив значение user параметра из исходной строка подключения JDBC и заменив имя базы данных первой частью строки конечной точки прослушивателя чтения и записи. Продолжая предыдущий пример, значение будет azureuser@ejb010307failover. Это значение является именем администратора базы данных.

Настройка и настройка основных кластеров WLS в AKS

В этом разделе описано, как создать кластер WLS в AKS с помощью oracle WebLogic Server в предложении AKS . Кластер в восточной части США является основным и настраивается в качестве активного кластера.

Примечание.

Дополнительные сведения о oracle WebLogic Server в предложении AKS см. в следующих статьях:

Подготовка примера приложения

В этом разделе описано, как создать и упаковать пример приложения CRUD Java/JakartaEE, которое будет развернуто и запущено в кластерах WLS для тестирования отработки отказа.

Приложение использует сохраняемость сеанса JDBC WebLogic Server для хранения данных сеанса HTTP. В источнике jdbc/WebLogicCafeDB данных хранятся данные сеанса для включения отработки отказа и балансировки нагрузки в кластере серверов WebLogic. Она настраивает схему сохраняемости для сохранения данных coffee приложения в одном источнике jdbc/WebLogicCafeDBданных.

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

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

    git clone https://github.com/Azure-Samples/azure-cafe.git
    cd azure-cafe
    git checkout 20231206
    

    Если вы видите сообщение о Detached HEADнем, это безопасно игнорировать.

  2. Используйте следующие команды, чтобы перейти к образцу каталога, а затем скомпилировать и упаковать пример:

    cd weblogic-cafe
    mvn clean package
    

После успешного создания пакета его можно найти на <сайте parent-path-to-your-local-clone>/azure-café/weblogic-café/target/weblogic-café.war. Если пакет не отображается, перед продолжением необходимо устранить проблему и устранить ее.

Создание учетной записи хранения и контейнера хранилища для хранения примера приложения

Чтобы создать учетную запись хранения и контейнер, выполните следующие действия. Некоторые из этих шагов направляют вас к другим руководствам. Выполнив действия, вы можете отправить пример приложения для развертывания в WLS.

  1. Войдите на портал Azure.

  2. Создайте учетную запись хранения, выполнив действия, описанные в разделе "Создание учетной записи хранения". Используйте следующие специализации для значений в статье:

    • Создайте новую группу ресурсов для учетной записи хранения.
    • В поле Страна или регион выберите Восточная часть США.
    • Для имени учетной записи хранения используйте то же значение, что и имя группы ресурсов.
    • В разделе Производительность выберите Стандартная.
    • Для параметра Избыточность выберите значение Локально избыточное хранилище.
    • Остальные вкладки не нуждаются в специализациях.
  3. Перейдите к проверке и созданию учетной записи, а затем вернитесь к этой статье.

  4. Создайте контейнер хранилища в учетной записи, выполнив действия, описанные в разделе "Создание контейнера" краткого руководства. Отправка, скачивание и перечисление BLOB-объектов с помощью портал Azure.

  5. Используя ту же статью, отправьте пакет azure-café/weblogic-café/target/weblogic-café.war , созданный ранее, выполнив действия, описанные в разделе "Отправка блочного BLOB-объекта ". Затем вернитесь к этой статье.

Развертывание WLS в AKS

Чтобы развернуть WLS в AKS, выполните следующие действия.

  1. Откройте предложение Oracle WebLogic Server в AKS в браузере и нажмите кнопку "Создать". Вы увидите область "Основные сведения" предложения.

    Снимок экрана: портал Azure, на котором показан сервер Oracle WebLogic Server на панели

  2. Чтобы заполнить область "Основные сведения", выполните следующие действия.

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

    2. Необходимо развернуть предложение в пустой группе ресурсов. В поле группы ресурсов выберите "Создать" и введите уникальное значение для группы ресурсов, например wlsaks-eastus-20240109.

    3. В разделе "Сведения об экземпляре" для региона выберите "Восточная часть США".

    4. В разделе Credentials WebLogic укажите пароль для шифрования webLogic Administrator и WebLogic Model соответственно. Сохраните имя пользователя и пароль администратора WebLogic.

    5. В разделе "Необязательная базовая конфигурация" для параметра "Принять значения по умолчанию" для необязательной конфигурации выберите "Нет". Показана необязательная конфигурация.

      Снимок экрана: портал Azure, на котором показан сервер Oracle WebLogic на панели

    6. В поле "Префикс имени" для управляемого сервера введите msp. Вы настроите таблицу WLS TLOG с префиксом TLOG_${serverName}_ позже. В этой статье создается таблица TLOG с именем TLOG_msp${index}_WLStore. Если требуется другой префикс имени управляемого сервера, убедитесь, что значение соответствует соглашениям об именовании таблиц Microsoft SQL Server и реальным именам таблиц.

    7. Оставьте значения по умолчанию для других полей.

  3. Нажмите кнопку "Рядом", чтобы перейти к области AKS.

  4. В разделе "Выбор изображения" укажите следующие сведения:

    • Для проверки подлинности единого входа Oracle введите имя пользователя единого входа Oracle из предварительных условий.
    • Для проверки подлинности единого входа Oracle введите учетные данные единого входа Oracle из предварительных условий.

    Снимок экрана: портал Azure, на котором показан сервер Oracle WebLogic на панели AKS — выбор изображения.

  5. В разделе "Приложение" выполните следующие действия.

    1. В разделе "Приложение" рядом с пунктом "Развернуть приложение?", нажмите кнопку "Да".
    2. Рядом с пакетом приложения (.war,.ear,.jar), выберите "Обзор".
    3. Начните вводить имя учетной записи хранения из предыдущего раздела. Когда появится требуемая учетная запись хранения, выберите ее.
    4. Выберите контейнер хранилища из предыдущего раздела.
    5. Установите флажок рядом с weblogic-café.war, который вы добавили в предыдущем разделе. Выберите Выбрать.
    6. Оставьте значения по умолчанию для других полей.

    Снимок экрана: портал Azure, на котором показан сервер Oracle WebLogic На панели AKS — выбор приложения.

  6. Выберите Далее.

  7. Оставьте значения по умолчанию в области конфигурации TLS/SSL, а затем нажмите кнопку "Далее ", чтобы перейти к области балансировки нагрузки .

    Снимок экрана: портал Azure, на котором показан кластер Oracle WebLogic Server на панели балансировки нагрузки AKS.

  8. В области балансировки нагрузки рядом с созданием входящего трафика для консоли администрирования. Убедитесь, что приложение без пути /console*, это приведет к конфликту с путьом консоли администрирования, нажмите кнопку "Да".

  9. Оставьте значения по умолчанию для других полей и нажмите кнопку "Далее"

  10. Оставьте значения по умолчанию в области DNS и нажмите кнопку "Далее ", чтобы перейти на панель "База данных ".

    Снимок экрана: портал Azure, на котором показан кластер Oracle WebLogic Server на панели базы данных AKS.

  11. Введите следующие значения в области "База данных ".

  12. Выберите Review + create (Просмотреть и создать).

  13. Дождитесь завершения последней проверки, а затем нажмите кнопку "Создать". Через некоторое время отобразится страница развертывания , на которой выполняется развертывание.

Примечание.

Если во время выполнения окончательной проверки возникли проблемы, исправьте их и повторите попытку.

В зависимости от сетевых условий и других действий в выбранном регионе развертывание может занять до 70 минут. После этого на странице развертывания отобразится текст развертывания.

Настройка хранилища данных TLOG

В этом разделе описана настройка хранилища данных TLOG путем переопределения модели образа WLS с помощью .ConfigMap Дополнительные сведения о модели ConfigMap в WebLogic Deploy Tooling см. в разделе ConfigMap/>.

В этом разделе требуется терминал Bash с установленным Azure CLI и kubectl. Выполните следующие действия, чтобы наследить необходимый YAML для хранения данных TLOG и настроить его.

  1. Чтобы подключиться к кластеру AKS, выполните следующие действия.

    1. Откройте портал Azure и перейдите в группу ресурсов, подготовленную в разделе "Развертывание WLS в AKS".
    2. Выберите кластер AKS из списка ресурсов и нажмите кнопку "Подключиться ", чтобы подключиться к кластеру AKS.
    3. Выберите Azure CLI и выполните действия, чтобы подключиться к кластеру AKS в локальном терминале.
  2. Выполните следующие действия, чтобы получить topology: запись из YAML модели образов WLS:

    1. Откройте портал Azure и перейдите в группу ресурсов, подготовленную в разделе "Развертывание WLS в AKS".
    2. Выберите Параметры>Развертывания. Выберите первое развертывание, имя которого начинается с oracle.20210620-wls-on-aks.
    3. Выберите Выходные данные. Скопируйте значение shellCmdtoOutputWlsImageModelYaml в буфер обмена. Значением является команда оболочки, которая декодирует строку base64 файла модели и сохраняет содержимое в файле с именем model.yaml.
    4. Вставьте значение в терминал Bash и выполните команду, чтобы создать файл model.yaml .
    5. Измените файл, чтобы удалить все содержимое, за исключением записи верхнего уровня topology: . В файле не должно быть записей верхнего уровня, кроме topology:.
    6. Сохраните файл.
  3. Выполните следующие действия, чтобы получить ConfigMap имя и имя пространства имен из модели домена WLS YAML:

    1. Откройте портал Azure и перейдите в группу ресурсов, подготовленную в разделе "Развертывание WLS в AKS".

    2. Выберите Параметры>Развертывания. Выберите первое развертывание, имя которого начинается с oracle.20210620-wls-on-aks.

    3. Выберите Выходные данные. Скопируйте значение shellCmdtoOutputWlsDomainYaml в буфер обмена. Значением является команда оболочки для декодирования строки файла модели base64 и сохранения содержимого в model.yaml.

    4. Вставьте значение в терминал и получите файл с именем domain.yaml.

    5. domain.yaml Найдите следующие значения.

      • spec.configuration.model.configMap. Если вы приняли значения по умолчанию, это значение равно sample-domain1-wdt-config-map.
      • metadata.namespace. Если вы приняли значения по умолчанию, это значение равно sample-domain1-ns.

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

      export CONFIG_MAP_NAME=sample-domain1-wdt-config-map
      export WLS_NS=sample-domain1-ns
      
  4. Чтобы получить ConfigMap YAML, используйте следующую команду:

    kubectl get configmap ${CONFIG_MAP_NAME} -n ${WLS_NS} -o yaml > configMap.yaml
    
  5. Чтобы создать файл tlog-db-model.yaml , выполните следующие действия.

    1. В текстовом редакторе создайте пустой файл с именем tlog-db-model.yaml.

    2. Вставьте содержимое файла model.yaml, добавьте пустую строку и вставьте содержимое файла configMap.yaml .

  6. В файле tlog-db-model.yaml найдите конец строки.ListenPort: 8001 Добавьте этот текст на следующей строке, выполняя крайнюю осторожность TransactionLogJDBCStore , которая находится именно ListenPort под и остальными строками в следующем фрагменте фрагмента, как показано в следующем примере:

    TransactionLogJDBCStore:
      Enabled: true
      DataSource: jdbc/WebLogicCafeDB
      PrefixName: TLOG_${serverName}_
    

    Готовый tlog-db-model.yaml должен выглядеть очень близко к следующему примеру:

    topology:
      Name: "@@ENV:CUSTOM_DOMAIN_NAME@@"
      ProductionModeEnabled: true
      AdminServerName: "admin-server"
      Cluster:
        "cluster-1":
          DynamicServers:
            ServerTemplate: "cluster-1-template"
            ServerNamePrefix: "@@ENV:MANAGED_SERVER_PREFIX@@"
            DynamicClusterSize: "@@PROP:CLUSTER_SIZE@@"
            MaxDynamicClusterSize: "@@PROP:CLUSTER_SIZE@@"
            MinDynamicClusterSize: "0"
            CalculatedListenPorts: false
      Server:
        "admin-server":
          ListenPort: 7001
      ServerTemplate:
        "cluster-1-template":
          Cluster: "cluster-1"
          ListenPort: 8001
          TransactionLogJDBCStore:
            Enabled: true
            DataSource: jdbc/WebLogicCafeDB
            PrefixName: TLOG_${serverName}_
      SecurityConfiguration:
        NodeManagerUsername: "@@SECRET:__weblogic-credentials__:username@@"
        NodeManagerPasswordEncrypted: "@@SECRET:__weblogic-credentials__:password@@"
    
    resources:
      JDBCSystemResource:
        jdbc/WebLogicCafeDB:
          Target: 'cluster-1'
          JdbcResource:
            JDBCDataSourceParams:
              JNDIName: [
                jdbc/WebLogicCafeDB
              ]
              GlobalTransactionsProtocol: None
            JDBCDriverParams:
              DriverName: com.microsoft.sqlserver.jdbc.SQLServerDriver
              URL: '@@SECRET:ds-secret-sqlserver-1709938597:url@@'
              PasswordEncrypted: '@@SECRET:ds-secret-sqlserver-1709938597:password@@'
              Properties:
                user:
                  Value: '@@SECRET:ds-secret-sqlserver-1709938597:user@@'
            JDBCConnectionPoolParams:
                TestTableName: SQL SELECT 1
                TestConnectionsOnReserve: true
    
  7. Переопределите модель WLS с ConfigMapпомощью . Чтобы переопределить модель WLS, замените существующую ConfigMap новой моделью. Дополнительные сведения см. в статье об обновлении существующей модели в документации Oracle. Выполните следующие команды, чтобы повторно создать следующую ConfigMapкоманду:

    export CM_NAME_FOR_MODEL=sample-domain1-wdt-config-map
    kubectl -n sample-domain1-ns delete configmap ${CM_NAME_FOR_MODEL}
    
    # replace path of tlog-db-model.yaml
    kubectl -n sample-domain1-ns create configmap ${CM_NAME_FOR_MODEL} \
      --from-file=tlog-db-model.yaml
    kubectl -n sample-domain1-ns label configmap ${CM_NAME_FOR_MODEL} \
      weblogic.domainUID=sample-domain1
    
  8. Перезапустите кластер WLS, выполнив следующие команды. Необходимо вызвать последовательное обновление, чтобы создать новую модель.

    export RESTART_VERSION=$(kubectl -n sample-domain1-ns get domain sample-domain1 '-o=jsonpath={.spec.restartVersion}')
    # increase restart version
    export RESTART_VERSION=$((RESTART_VERSION + 1))
    
    kubectl -n sample-domain1-ns patch domain sample-domain1 \
        --type=json \
        '-p=[{"op": "replace", "path": "/spec/restartVersion", "value": "'${RESTART_VERSION}'" }]'
    

Перед переходом убедитесь, что модули pod WLS выполняются. Для просмотра состояния модулей pod можно использовать следующую команду:

kubectl get pod -n sample-domain1-ns -w

Примечание.

В этой статье модели WLS включены в образ контейнера приложения, который был создан WLS в предложении AKS. TLOG настраивается путем переопределения существующей модели с помощью WDT ConfigMap , содержащей файл модели, и использует поле CRD configuration.model.configMap домена для ссылки на карту. В рабочих сценариях вспомогательные образы рекомендуется использовать для включения модели в файлы модели образов, архивные файлы приложений и установку средств развертывания WebLogic в модулях pod. Эта функция устраняет необходимость предоставления этих файлов на изображении, указанном в domain.spec.image.

Настройка геоизбыточности с помощью Azure Backup

В этом разделе описано, как использовать Azure Backup для резервного копирования кластеров AKS с помощью расширения резервного копирования, которое должно быть установлено в кластере.

Чтобы настроить геоизбыточность, выполните следующие действия.

  1. Создайте контейнер хранилища для расширения резервного копирования AKS в учетной записи хранения, созданной в контейнере создания учетной записи хранения и контейнера хранения для хранения примера раздела приложения .

  2. Используйте следующие команды, чтобы установить расширение резервного копирования AKS и включить драйверы и моментальные снимки CSI для кластера:

    #replace with your resource group name.
    export RG_NAME=wlsaks-eastus-20240109
    export AKS_NAME=$(az aks list \
        --resource-group ${RG_NAME} \
        --query "[0].name" \
        --output tsv)
    
    az aks update \
        --resource-group ${RG_NAME} \
        --name ${AKS_NAME} \
        --enable-disk-driver \
        --enable-file-driver \
        --enable-blob-driver \
        --enable-snapshot-controller --yes
    

    Для включения драйверов требуется около 5 минут. Перед переходом убедитесь, что команды выполняются без ошибок.

  1. Откройте группу ресурсов, развернутую AKS. Выберите кластер AKS из списка ресурсов.

  2. На целевой странице AKS выберите "Параметры>резервного копирования>расширения установки".

  3. На странице "Установка расширения резервного копирования AKS" нажмите кнопку "Далее". Выберите учетную запись хранения и контейнер BLOB-объектов, созданный на предыдущих шагах. Нажмите кнопку "Далее" и "Создать". Выполнение этого шага занимает около пяти минут.

  1. Откройте портал Azure в строке поиска в верхней части окна поиска, найдите хранилища резервных копий. Вы увидите его в разделе "Службы". Выберите ее.

  2. Чтобы включить резервное копирование AKS, выполните действия, описанные в разделе "Резервное копирование AKS" Служба Azure Kubernetes с помощью Azure Backup, но не включая раздел "Использование перехватчиков во время резервного копирования AKS". Внесите изменения, указанные в следующих шагах.

  3. Когда вы перейдете к разделу "Создание хранилища резервных копий", внесите следующие изменения:

    • Для шага 1 в разделе "Регионы" выберите "Восточная часть США". В разделе "Избыточность хранилища резервных копий" используйте глобально избыточное хранилище.

      Снимок экрана: портал Azure, на котором показана панель

    • Для шага 2 включите восстановление между регионами.

  4. Когда вы достигнете раздела "Создание политики резервного копирования", внесите следующие изменения при запросе на создание политики хранения:

    1. Добавьте правило хранения, в котором выбран стандарт Vault.

      Снимок экрана: портал Azure, на котором показан выбор стандартного параметра Vault.

    2. Выберите Добавить.

  5. Когда вы перейдете к разделу "Настройка резервных копий", внесите следующие изменения. Шаг 1-5 предназначен для установки расширения AKS. Пропустить шаг 1–5 и начать с шага 6.

    • На шаге 7 возникают ошибки разрешений. Выберите "Предоставить разрешение", чтобы перейти. После завершения развертывания разрешений, если ошибка по-прежнему отображается, выберите повторную проверку, чтобы обновить назначения ролей.

      Снимок экрана: портал Azure, на котором показана настройка разрешения на предоставление резервного копирования AKS.

    • На шаге 10 найдите команду "Выбрать ресурсы для резервного копирования" и внесите следующие изменения:

      • Для имени экземпляра резервного копирования введите уникальное имя.
      • Для пространств имен выберите пространства имен для оператора WebLogic и сервера WebLogic. В этой статье выберите weblogic-operator-ns и sample-domain1-ns.
      • Для других параметров выберите все параметры. Убедитесь, что выбран параметр "Включить секреты ".

      Снимок экрана: портал Azure, на котором показан элемент AKS Configure Backup Select Resources.

    • На шаге 11 возникает ошибка назначения ролей. Выберите источник данных из списка и выберите " Назначить отсутствующие роли ", чтобы устранить ошибку.

      Снимок экрана: портал Azure, на котором показана проверка резервного копирования AKS.

Подготовка к восстановлению кластера WLS в дополнительном регионе

В этом разделе описана подготовка к восстановлению кластера WLS в дополнительном регионе. Здесь вторичный регион — западная часть США. Перед восстановлением необходимо установить кластер AKS с расширением резервного копирования AKS в регионе "Западная часть США".

Настройка Реестр контейнеров Azure для георепликации

Выполните следующие действия, чтобы настроить Реестр контейнеров Azure (ACR) для георепликации, которая содержит образ WLS, созданный в разделе "Развертывание WLS в AKS". Чтобы включить репликацию ACR, необходимо обновить ее до ценового плана Premium. Дополнительные сведения см. в статье Георепликация в Реестре контейнеров Azure.

  1. Откройте группу ресурсов, подготовленную в разделе Deploy WLS в AKS . В списке ресурсов выберите ACR, имя которого начинается с wlsaksacr.
  2. На целевой странице ACR выберите "Свойства параметров>". Для плана ценообразования выберите "Премиум" и нажмите кнопку "Сохранить".
  3. В области навигации выберите службы>георепликации. Нажмите кнопку "Добавить", чтобы добавить регион репликации на странице.
  4. На странице "Создание репликации" в поле "Расположение" выберите "Западная часть США" и нажмите кнопку "Создать".

После завершения развертывания служба ACR включена для георепликации.

Создание учетной записи хранения в дополнительном регионе

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

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

Чтобы создать учетную запись хранения и контейнер, выполните следующие действия. Некоторые из этих шагов направляют вас к другим руководствам.

  1. Войдите на портал Azure.
  2. Создайте учетную запись хранения, выполнив действия, описанные в разделе "Создание учетной записи хранения". Вам не нужно выполнять все действия, описанные в статье. Заполните поля, отображаемые на панели "Основные сведения". В регионе выберите "Западная часть США", а затем нажмите кнопку "Рецензирование" и "Создать ", чтобы принять параметры по умолчанию. Перейдите к проверке и созданию учетной записи, а затем вернитесь к этой статье.
  3. Создайте контейнер хранилища для расширения резервного копирования AKS, выполнив действия, описанные в разделе "Создание контейнера" краткого руководства. Отправка, скачивание и перечисление больших двоичных объектов с помощью портал Azure.
  4. Создайте контейнер хранилища в качестве промежуточного расположения для использования во время восстановления.

Подготовка кластера AKS в дополнительном регионе

В следующих разделах показано, как создать кластер AKS в дополнительном регионе.

Создание кластера AKS.

В этой статье предоставляется приложение WLS с помощью контроллера входящего трафика Шлюз приложений. В этом разделе описано, как создать новый кластер AKS в регионе "Западная часть США". Затем вы включите надстройку контроллера входящего трафика с новым экземпляром шлюза приложений. Дополнительные сведения см. в разделе "Включение надстройки контроллера входящего трафика" для нового кластера AKS с новым экземпляром шлюза приложений.

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

  1. Используйте следующие команды, чтобы создать группу ресурсов в дополнительном регионе:

    export RG_NAME_WESTUS=wlsaks-westus-20240109
    
    az group create --name ${RG_NAME_WESTUS} --location westus
    
  2. Используйте следующие команды для развертывания кластера AKS с включенной надстройкой:

    export AKS_NAME_WESTUS=${RG_NAME_WESTUS}aks
    export GATEWAY_NAME_WESTUS=${RG_NAME_WESTUS}gw
    
    az aks create \
        --resource-group ${RG_NAME_WESTUS} \
        --name ${AKS_NAME_WESTUS} \
        --network-plugin azure \
        --enable-managed-identity \
        --enable-addons ingress-appgw \
        --appgw-name ${GATEWAY_NAME_WESTUS} \
        --appgw-subnet-cidr "10.225.0.0/16" \
        --generate-ssh-keys
    

    Эта команда автоматически создает Standard_v2 SKU экземпляр шлюза приложений с именем ${RG_NAME_WESTUS}gw в группе ресурсов узла AKS. Группа ресурсов узла по умолчанию называется MC_resource-group-name_cluster-name_location .

    Примечание.

    Кластер AKS, подготовленный в разделе Deploy WLS в AKS , выполняется в трех зонах доступности в регионе "Восточная часть США". Зоны доступности не поддерживаются в регионе "Западная часть США". Кластер AKS в западной части США не является избыточным по зонам. Если в рабочей среде требуется избыточность зоны, убедитесь, что ваш парный регион поддерживает зоны доступности. Дополнительные сведения см. в разделе "Обзор зон доступности для кластеров AKS" в разделе "Создание кластера Служба Azure Kubernetes (AKS), использующего зоны доступности.

  3. Используйте следующие команды, чтобы получить общедоступный IP-адрес экземпляра шлюза приложений. Сохраните IP-адрес, который вы используете далее в этой статье.

    export APPGW_ID=$(az aks show \
        --resource-group ${RG_NAME_WESTUS} \
        --name ${AKS_NAME_WESTUS} \
        --query 'addonProfiles.ingressApplicationGateway.config.effectiveApplicationGatewayId' \
        --output tsv)
    echo ${APPGW_ID}
    export APPGW_IP_ID=$(az network application-gateway show \
        --id ${APPGW_ID} \
        --query frontendIPConfigurations\[0\].publicIPAddress.id \
        --output tsv)
    echo ${APPGW_IP_ID}
    export APPGW_IP_ADDRESS=$(az network public-ip show \
        --id ${APPGW_IP_ID} \
        --query ipAddress \
        --output tsv)
    echo "App Gateway pubilc IP address: ${APPGW_IP_ADDRESS}"
    
  4. Используйте следующую команду, чтобы подключить метку имени службы доменных имен (DNS) к ресурсу общедоступного IP-адреса. Замените <your-chosen-DNS-name> соответствующим значением, например ejb010316.

    az network public-ip update --ids ${APPGW_IP_ID} --dns-name <your-chosen-DNS-name>
    
  5. Вы можете проверить полное доменное имя общедоступного IP-адреса.az network public-ip show В следующем примере показано полное доменное имя с меткой ejb010316DNS:

    az network public-ip show \
        --id ${APPGW_IP_ID} \
        --query dnsSettings.fqdn \
        --output tsv
    

    Выходные данные этой команды выглядят примерно так:

    ejb010316.westus.cloudapp.azure.com
    

Примечание.

Если вы работаете с существующим кластером AKS, выполните следующие два действия перед переходом.

  • Включите надстройку контроллера входящего трафика, выполнив действия, описанные в разделе "Включение надстройки контроллера входящего трафика шлюза приложений" для существующего кластера AKS.
  • Если у вас есть WLS в целевом пространстве имен, чтобы избежать конфликтов, очистите ресурсы WLS в пространстве имен оператора WebLogic и пространстве имен webLogic Server. В этой статье предложение WLS в AKS подготовило оператор WebLogic в пространстве weblogic-operator-ns имен и webLogic Server в пространстве sample-domain1-nsимен. Выполните команду kubectl delete namespace weblogic-operator-ns sample-domain1-ns , чтобы удалить два пространства имен.

Включение расширения резервного копирования AKS

Прежде чем продолжить, выполните следующие действия, чтобы установить расширение резервного копирования AKS в кластер в дополнительном регионе:

  1. Используйте следующую команду, чтобы подключиться к кластеру AKS в регионе "Западная часть США".

    az aks get-credentials \
        --resource-group ${RG_NAME_WESTUS} \
        --name ${AKS_NAME_WESTUS}
    
  2. Используйте следующую команду, чтобы включить драйверы и моментальные снимки CSI для кластера:

    az aks update \
        --resource-group ${RG_NAME_WESTUS} \
        --name ${AKS_NAME_WESTUS} \
        --enable-disk-driver \
        --enable-file-driver \
        --enable-blob-driver \
        --enable-snapshot-controller --yes
    
  1. Откройте группу ресурсов, развернутую AKS. Выберите кластер AKS из списка ресурсов.

  2. На целевой странице AKS выберите "Параметры>резервного копирования>расширения установки".

  3. На странице "Установка расширения резервного копирования AKS" нажмите кнопку "Далее". Выберите учетную запись хранения и контейнер BLOB-объектов, созданный на предыдущих шагах. Нажмите кнопку "Далее" и "Создать". Выполнение этого шага занимает около пяти минут.

Примечание.

Чтобы сэкономить затраты, можно остановить кластер AKS в дополнительном регионе, выполнив действия, описанные в разделе "Остановка" и запуск кластера Служба Azure Kubernetes (AKS). Запустите его перед восстановлением кластера WLS.

Подождите, пока резервное копирование уровня "Стандартный" хранилища произойдет

В AKS уровень "Стандартный" — это единственный уровень , поддерживающий геоизбыточное обеспечение и восстановление между регионами. Как указано в разделе "Какой уровень хранилища резервных копий поддерживает резервное копирование AKS?", "На уровень хранилища перемещается только одна запланированная точка восстановления в день". Необходимо дождаться выполнения стандартной резервной копии Vault. Хорошая нижняя граница — ждать 24 часа после завершения предыдущего шага, прежде чем продолжить.

Остановка основного кластера

Основной кластер WLS и вторичный кластер WLS настраиваются с той же базой данных TLOG. Одновременно может принадлежать только один кластер. Чтобы убедиться, что вторичный кластер работает правильно, остановите основной кластер WLS. В этой статье остановите кластер AKS, чтобы отключить кластер WLS, выполнив следующие действия.

  1. Откройте портал Azure и перейдите в группу ресурсов, подготовленную в разделе "Развертывание WLS в AKS".
  2. Откройте кластер AKS, указанный в группе ресурсов.
  3. Выберите "Остановить ", чтобы остановить кластер AKS. Перед переходом убедитесь, что развертывание завершится.

Восстановление кластера WLS

Резервное копирование AKS поддерживает резервные копии уровня операций и хранилища. Можно использовать только резервные копии, хранящиеся на уровне хранилища, для восстановления в кластере в другом регионе (парный регион Azure). Согласно правилам хранения, заданным в политике резервного копирования, первая успешная резервная копия дня перемещается в контейнер БОЛЬШИХ двоичных объектов между регионами. Дополнительные сведения см. в разделе "Что такое резервное копирование службы хранилища AKS"? Раздел "Что такое резервное копирование Служба Azure Kubernetes?

После настройки геоизбыточности в разделе "Настройка геоизбыточности" с помощью Службы архивации Azure резервное копирование занимает по крайней мере день, чтобы резервные копии уровня хранилища стали доступными для восстановления.

Чтобы восстановить кластер WLS, выполните следующие действия.

  1. Откройте портал Azure и найдите центр резервного копирования. Выберите центр резервного копирования в разделе "Службы".

  2. В разделе "Управление" выберите экземпляры резервного копирования. Отфильтруйте тип источника данных Kubernetes Services , чтобы найти экземпляр резервного копирования, созданный в предыдущем разделе.

  3. Выберите экземпляр резервного копирования, чтобы просмотреть список точек восстановления. В этой статье имя экземпляра — это строка, аналогичная wlsonaks*\wlsaksinstance20240109строке.

    Снимок экрана: портал Azure, на котором показаны точки восстановления экземпляра резервного копирования.

  4. Выберите последнюю операционную и стандартную резервную копию хранилища, а затем выберите дополнительные параметры. Выберите "Восстановить", чтобы запустить процесс восстановления.

  5. На странице "Восстановление" область по умолчанию — точка восстановления. Выберите "Назад", чтобы изменить область "Основные сведения". Чтобы восстановить регион, выберите дополнительный регион, а затем нажмите кнопку "Далее: точка восстановления".

    Снимок экрана: портал Azure, на котором показана панель

  6. На панели "Точка восстановления" для восстановления уровня выберите хранилище хранилища, а затем нажмите кнопку "Далее:Восстановить параметры".

    Снимок экрана: портал Azure, на котором показана панель точки восстановления.

  7. На панели параметров восстановления выполните следующие действия.

    1. Для выбора целевого кластера выберите кластер AKS, созданный в регионе "Западная часть США". Возникла проблема с разрешением, как показано на следующем снимок экрана. Выберите "Предоставить разрешение", чтобы устранить ошибки.

    2. Для промежуточного расположения резервного копирования выберите учетную запись хранения, созданную в западной части США. Возникла проблема с разрешением, как показано на следующем снимок экрана. Выберите " Назначить отсутствующие роли ", чтобы устранить ошибки.

    3. Если ошибки по-прежнему возникают после завершения назначений ролей, выберите повторную настройку, чтобы обновить разрешения.

      Снимок экрана: портал Azure, на котором показана панель параметров восстановления.

    4. При предоставлении отсутствующих разрешений, если будет предложено указать область, примите значение по умолчанию.

    5. Выберите Проверить. Должно появиться сообщение, проверка завершена успешно. В противном случае перед продолжением устраните проблему и устраните ее.

  8. Нажмите кнопку "Далее:Просмотр и восстановление", а затем нажмите кнопку "Восстановить". Восстановление кластера WLS занимает около 10 минут.

  9. Вы можете отслеживать процесс восстановления из заданий резервного копирования> и создания отчетов>о резервном копировании, как показано на следующем снимке экрана:

    Снимок экрана: портал Azure, на котором показано выполнение CrossRegionRestore.

  10. Выберите "Обновить", чтобы просмотреть последний ход выполнения.

  11. После завершения процесса без ошибок остановите кластер AKS резервной копии. Сбой этого приводит к конфликтам владения при доступе к базе данных TLOG в последующих шагах.

  12. Запустите основной кластер.

Настройка Диспетчер трафика Azure

В этом разделе описано, как создать Диспетчер трафика Azure для распространения трафика в общедоступные приложения в глобальных регионах Azure. Основная конечная точка указывает на Шлюз приложений Azure в основном кластере WLS, а вторичная конечная точка указывает на Шлюз приложений Azure в дополнительном кластере WLS.

Создайте профиль Диспетчер трафика Azure, выполнив действия, описанные в кратком руководстве. Создание профиля Диспетчер трафика с помощью портал Azure. Пропустите раздел "Предварительные требования". Вам потребуется только следующие разделы: создание профиля Диспетчер трафика, добавление конечных точек Диспетчер трафика и профиль тестирования Диспетчер трафика. Выполните следующие действия, как описано в следующих разделах, а затем вернитесь к этой статье после создания и настройки Диспетчер трафика Azure:

  1. Когда вы перейдете к разделу Создание профиля Диспетчер трафика, на шаге 2 Создание профиля Диспетчер трафика выполните следующие действия.

    1. Сохраните уникальное имя профиля Диспетчер трафика для имени, например tmprofile-ejb120623.
    2. Сохраните новое имя группы ресурсов для группы ресурсов, например myResourceGroupTM1.
  2. Когда вы перейдете к разделу Добавление конечных точек Диспетчер трафика, выполните следующие действия.

    1. После шага выберите профиль из результатов поиска, выполните следующие действия.
      1. В разделе Параметры выберите пункт Конфигурация.
      2. Для времени жизни DNS (TTL) введите 10.
      3. В разделе "Параметры монитора конечных точек" в поле "Путь" введите /weblogic/ready.
      4. В разделе "Быстрые параметры отработки отказа конечной точки" используйте следующие значения:
        • Для проверки внутренних данных введите 10.
        • Для допустимого числа сбоев введите 3.
        • Время ожидания пробы — 5.
      5. Выберите Сохранить. Дождитесь завершения.
    2. На шаге 4 для добавления основной конечной точки myPrimaryEndpointвыполните следующие действия:
      1. Для типа целевого ресурса выберите общедоступный IP-адрес.
      2. Выберите раскрывающийся список "Выбор общедоступного IP-адреса" и введите IP-адрес Шлюз приложений развернутых в кластере WLS восточной части США, который вы сохранили ранее. Должно появиться одно совпадение записи. Выберите его для общедоступного IP-адреса.
    3. На шаге 6 для добавления отработки отказа или вторичной конечной точки myFailoverEndpoint выполните следующие действия.
      1. Для типа целевого ресурса выберите общедоступный IP-адрес.
      2. Выберите раскрывающийся список "Выбор общедоступного IP-адреса" и введите IP-адрес Шлюз приложений, развернутый в кластере WLS западной части США, который вы сохранили ранее. Должно появиться одно совпадение записи. Выберите его для общедоступного IP-адреса.
    4. Подождите некоторое время. Выберите "Обновить", пока состояние монитора не достигнет следующих состояний:
      • Основная конечная точка — Online.
      • Конечная точка отработки отказа снижается.
  3. Когда вы перейдете к профилю тестового Диспетчер трафика раздела, выполните следующие действия.

    1. В подразделе Проверка DNS-имени на шаге 3 сохраните DNS-имя профиля Диспетчер трафика, напримерhttp://tmprofile-ejb120623.trafficmanager.net.
    2. В подразделе представление Диспетчер трафика в действии выполните следующие действия:
      1. На шаге 1 и 3 добавьте /weblogic/ready к DNS-имени профиля Диспетчер трафика в веб-браузере, напримерhttp://tmprofile-ejb120623.trafficmanager.net/weblogic/ready. Вы увидите пустую страницу без сообщения об ошибке.
      2. На шаге 4 невозможно получить доступ к /weblogic/ready, что ожидается, так как вторичный кластер остановлен.
      3. Повторно включите основную конечную точку.

Теперь основная конечная точка содержит состояния "Включено" и "Online", а конечная точка отработки отказа содержит состояния "Включено" и "Понижено" в профиле Диспетчер трафика. Откройте страницу для мониторинга состояния конечной точки позже.

Тестирование отработки отказа из первичного в вторичный

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

Так как основной кластер выполняется и работает, он выступает в качестве активного кластера и обрабатывает все запросы пользователей, перенаправленные вашим профилем Диспетчер трафика.

Откройте DNS-имя профиля Диспетчер трафика Azure на новой вкладке браузера, добавив корень контекста /weblogic-café развернутого приложения, напримерhttp://tmprofile-ejb120623.trafficmanager.net/weblogic-cafe. Создайте новый кофе с именем и ценой - например, coffee 1 с ценой 10. Эта запись сохраняется как в таблице данных приложения, так и в таблице сеансов базы данных. Отображаемый пользовательский интерфейс должен быть похож на следующий снимок экрана:

Снимок экрана: пример пользовательского интерфейса приложения.

Если пользовательский интерфейс не выглядит похожим, перед продолжением устраняйте неполадку и устраняйте ее.

Сохраните страницу открытой, чтобы использовать ее для отработки отказа позже.

Отработка отказа на дополнительный сайт

Выполните следующие действия, чтобы выполнить отработку отказа с первичного на вторичную.

Сначала выполните следующие действия, чтобы остановить основной кластер AKS:

  1. Откройте портал Azure и перейдите в группу ресурсов, подготовленную в разделе "Развертывание WLS в AKS".
  2. Откройте кластер AKS, указанный в группе ресурсов.
  3. Выберите "Остановить ", чтобы остановить кластер AKS. Перед переходом убедитесь, что развертывание завершится.

Затем выполните следующие действия, чтобы выполнить отработку отказа База данных SQL Azure с сервера-источника на дополнительный сервер.

  1. Перейдите на вкладку браузера База данных SQL Azure группы отработки отказа.
  2. Выберите "Да" отработки>отказа.
  3. Дождитесь завершения.

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

  1. Откройте портал Azure и перейдите в группу ресурсов с кластером AKS в дополнительном регионе.
  2. Откройте кластер AKS, указанный в группе ресурсов.
  3. Нажмите кнопку "Пуск ", чтобы запустить кластер AKS. Перед переходом убедитесь, что развертывание завершится.

Наконец, выполните следующие действия, чтобы проверить пример приложения после того, как конечная точка myFailoverEndpoint находится в состоянии Online :

  1. Перейдите на вкладку браузера Диспетчер трафика, а затем обновите страницу, пока не увидите, что значение состояния монитора конечной точки myFailoverEndpoint введите состояние Online.

  2. Перейдите на вкладку браузера примера приложения и обновите страницу. В таблице данных приложения должны отображаться те же данные, что и таблица сеансов, отображаемая в пользовательском интерфейсе, как показано на следующем снимке экрана:

    Снимок экрана: пример пользовательского интерфейса приложения после отработки отказа.

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

Примечание.

Решение высокого уровня доступности и аварийного восстановления будет учитывать непрерывное копирование конфигурации WLS из основного в вторичные кластеры в регулярное расписание. Дополнительные сведения о том, как это сделать, см. в справочнике по документации Oracle в конце этой статьи.

Чтобы автоматизировать отработку отказа, рассмотрите возможность использования оповещений по метрикам Диспетчер трафика и служба автоматизации Azure. Дополнительные сведения см. в разделе "Оповещения о Диспетчер трафика метрик" Диспетчер трафика метрик и оповещений и используйте оповещение для активации модуля Runbook служба автоматизации Azure.

Отработка отказа на основной сайт

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

  1. Включите резервные копии кластера AKS в регионе "Западная часть США", выполнив действия, описанные в разделе "Настройка геоизбыточности" с помощью раздела Azure Backup , начиная с шага 4.
  2. Восстановите последнюю резервную копию уровня хранилища в кластере в регионе "Восточная часть США", выполнив действия, описанные в разделе "Подготовка к восстановлению кластера WLS в дополнительном регионе ". Пропустите шаги, которые вы уже выполнили.
  3. Используйте аналогичные шаги в разделе "Отработка отказа" на дополнительный сайт, чтобы вернуться на первичный сайт, включая сервер базы данных и кластер.

Очистка ресурсов

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

  1. В поле поиска в верхней части портал Azure введите хранилища резервных копий и выберите резервные хранилища из результатов поиска.
  2. Выберите "Управление свойствами>>обратимого удаления".> Рядом с параметром "Включить обратимое удаление" снимите флажок.
  3. Выберите "Управление>экземплярами резервного копирования". Выберите созданный экземпляр и удалите его.
  4. Введите имя группы ресурсов База данных SQL Azure серверов (например, myResourceGroup) в поле поиска в верхней части портал Azure и выберите соответствующую группу ресурсов из результатов поиска.
  5. Выберите команду Удалить группу ресурсов.
  6. Введите имя группы ресурсов, чтобы подтвердить удаление, введите имя группы ресурсов.
  7. Выберите команду Удалить.
  8. Повторите шаги 4-7 для группы ресурсов Диспетчер трафика, напримерmyResourceGroupTM1.
  9. Повторите шаги 4-7 для группы ресурсов основного кластера WLS, например wls-aks-eastus-20240109.
  10. Повторите шаги 4-7 для группы ресурсов вторичного кластера WLS, например wls-aks-westus-20240109.

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

В этом руководстве описано, как настроить решение высокой доступности и аварийного восстановления, состоящее из уровня инфраструктуры приложений "активный- пассивный" с уровнем базы данных "активный- пассивный" и в котором оба уровня охватывают два географически разных сайта. На первом сайте активны как уровень инфраструктуры приложений, так и уровень базы данных. На втором сайте вторичный домен завершает работу, а база данных-получатель находится в режиме ожидания.

Перейдите к следующим ссылкам для получения дополнительных возможностей для создания решений ha/DR и запуска WLS в Azure: