Развертывание приложения Java с помощью Open Liberty или WebSphere Liberty в кластере Azure Kubernetes Service (AKS)
В этой статье демонстрируются следующие возможности.
- Запустите приложение Java, Java EE, Jakarta EE или MicroProfile в среде выполнения Open Liberty или IBM WebSphere Liberty.
- Создайте образ Docker приложения с
az acr build
помощью образов контейнеров Open Liberty или WebSphere Liberty. - Разверните контейнерное приложение в кластере Служба Azure Kubernetes (AKS) с помощью оператора Open Liberty или WebSphere Liberty Operator.
Open Liberty Operator упрощает развертывание приложений, работающих в кластерах Kubernetes, и управление ими. С помощью оператора Open Liberty или Оператора WebSphere Liberty вы также можете выполнять более сложные операции, такие как сбор трассировок и дампов.
В этой статье используется предложение Azure Marketplace для Open Liberty или WebSphere Liberty, чтобы ускорить переход к AKS. Предложение автоматически подготавливает некоторые ресурсы Azure, в том числе:
- Экземпляр Реестр контейнеров Azure.
- Кластер AKS.
- Экземпляр контроллера входящего трафика (AGIC) Шлюз приложений.
- Оператор Open Liberty и Оператор WebSphere Liberty.
- Кроме того, образ контейнера, включающий Liberty и ваше приложение.
Если вы предпочитаете вручную пошаговое руководство по запуску Liberty в AKS, ознакомьтесь с инструкциями по развертыванию приложения Java с помощью Open Liberty или WebSphere Liberty в кластере Служба Azure Kubernetes (AKS).
Эта статья предназначена для быстрого развертывания. Прежде чем перейти в рабочую среду, ознакомьтесь с документацией IBM по настройке Liberty.
Если вы заинтересованы в предоставлении отзывов или тесной работе с сценариями миграции с помощью группы разработчиков, разрабатывающей веб-sphere в решениях Azure, заполните этот короткий опрос по миграции WebSphere и включите контактные данные. Команда руководителей программ, архитекторов и инженеров будет быстро связаться с вами, чтобы начать тесное сотрудничество.
Необходимые компоненты
- Подписка Azure. Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.
- Подготовьте локальный компьютер с установленной операционной системой, например Ubuntu, Azure Linux, macOS или подсистема Windows для Linux.
- Установите Azure CLI для выполнения команд Azure CLI.
- Войдите в Azure CLI с помощью
az login
команды. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других параметрах входа см. в статье "Вход в Azure с помощью Azure CLI". - Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье "Использование расширений и управление ими" с помощью Azure CLI.
- Запустите
az version
, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновить до последней версии, выполните командуaz upgrade
. Для этой статьи требуется по крайней мере версия 2.61.0 Azure CLI.
- Войдите в Azure CLI с помощью
- Установите реализацию Java выпуск Standard (SE) версии 17 (например, Eclipse Open J9).
- Установите Maven 3.9.8 или более поздней версии.
- Убедитесь, что установлен Git .
- Убедитесь, что вы назначены
Owner
роль илиContributor
User Access Administrator
роли в подписке. Это можно проверить, выполнив действия из раздела Список назначений ролей для пользователя или группы.
Создание Liberty в развернутой службе AKS с помощью портала
Следующие инструкции предназначены для создания среды выполнения Liberty в службе AKS. После выполнения этих действий у вас будет экземпляр реестра контейнеров и кластер AKS для развертывания контейнерного приложения.
Переход на портал Azure. В поле поиска в верхней части страницы введите WebSphere Liberty/Open Liberty в Kubernetes. Когда появятся предложения, выберите его и только в разделе Marketplace .
Если вы предпочитаете, вы можете перейти непосредственно к предложению.
Нажмите кнопку создания.
На панели "Основные сведения":
- Создание группы ресурсов Так как группы ресурсов должны быть уникальными в подписке, выберите уникальное имя. Простой способ использовать уникальные имена — использовать сочетание инициалогов, сегодняшней даты и некоторых идентификаторов (например,
ejb0913-java-liberty-project-rg
). Сохраните имя группы ресурсов для дальнейшего использования в этой статье. - Для региона выберите регион, который находится рядом с вами. Например, выберите "Восточная часть США 2".
- Создание группы ресурсов Так как группы ресурсов должны быть уникальными в подписке, выберите уникальное имя. Простой способ использовать уникальные имена — использовать сочетание инициалогов, сегодняшней даты и некоторых идентификаторов (например,
Выберите Далее. На панели AKS можно при необходимости выбрать существующий кластер AKS и экземпляр реестра контейнеров, а не создавать новые. Этот выбор позволяет использовать шаблон боковой кареты, как показано в Центре архитектуры Azure. Вы также можете настроить параметры размера и количества виртуальных машин в пуле узлов AKS.
В целях этой статьи просто сохраните все значения по умолчанию на этой панели.
Выберите Далее. В области балансировки нагрузки щелкните "Подключиться к Шлюз приложений Azure?", нажмите кнопку "Да". В этом разделе можно настроить следующие параметры развертывания:
Для виртуальной сети и подсети можно при необходимости настроить виртуальную сеть и подсеть, в которую развертывание помещает ресурсы. Вам не нужно изменять оставшиеся значения из значений по умолчанию.
Для TLS/SSL-сертификата можно указать TLS/SSL-сертификат из Шлюз приложений Azure. Оставьте значения по умолчанию, чтобы создать самозаверяющий сертификат.
Не перейдите в рабочую среду с самозаверяющий сертификат. Дополнительные сведения о самозаверяющих сертификатах см. в статье Создание самозаверяющего открытого сертификата для проверки подлинности приложения.
Вы можете выбрать включение сопоставления на основе файлов cookie, также известных как липкие сеансы. В этой статье используются липкие сеансы, поэтому не забудьте выбрать этот параметр.
Выберите Далее. В области операторов и приложений эта статья использует все значения по умолчанию. Однако можно настроить следующие параметры развертывания:
- Вы можете развернуть оператор WebSphere Liberty, выбрав "Да" для параметра IBM, поддерживаемого?. При выходе из значения по умолчанию оператор Open Liberty не развертывается.
- Вы можете развернуть приложение для выбранного оператора, нажав кнопку "Да " для параметра "Развернуть приложение?". Выход из значения по умолчанию No не развертывает ни одно приложение.
Чтобы проверить параметры, выберите Просмотр и создание. На панели "Рецензирование и создание" после прохождения проверки выберите его.
Развертывание может занять до 20 минут. Пока вы ожидаете завершения развертывания, выполните действия, описанные в разделе "Создание экземпляра База данных SQL Azure". После завершения этого раздела вернитесь сюда и продолжайте работу.
Сбор выбранных сведений из развертывания
Если вы отошли от области выполнения развертывания, в следующих шагах показано, как вернуться к этой области. Если вы все еще находитесь на панели, где показано , что развертывание завершено, перейдите в только что созданную группу ресурсов и перейдите к третьему шагу.
В углу любой страницы портала нажмите кнопку меню и выберите группы ресурсов.
В поле с текстовым фильтром для любого поля введите первые несколько символов созданной ранее группы ресурсов. Если вы выполнили рекомендуемое соглашение, введите инициалы и выберите соответствующую группу ресурсов.
В списке ресурсов в группе ресурсов выберите ресурс со значением типа реестра контейнеров.
В области навигации в разделе "Параметры" выберите ключи доступа.
Сохраните значения для имени реестра и сервера входа. Значок копирования рядом с каждым полем можно использовать для копирования значения в системный буфер обмена.
Примечание.
В этой статье используется
az acr build
команда для создания и отправки образа Docker в реестр контейнеров без использованияusername
password
и реестра контейнеров. С нимdocker push
по-прежнему можно использовать имя пользователя и парольdocker login
. Использование имени пользователя и пароля менее безопасно, чем проверка подлинности без пароля.Вернитесь к группе ресурсов, в которой развернуты ресурсы.
В разделе Параметры выберите Развертывания.
Выберите самое нижнее развертывание в списке. Значение имени развертывания соответствует идентификатору издателя предложения. Он содержит строку
ibm
.На панели навигации выберите выходные данные.
Используя тот же метод копирования, что и с предыдущими значениями, сохраните значения для следующих выходных данных:
cmdToConnectToCluster
appDeploymentTemplateYaml
Если развертывание не включает приложение. То есть вы выбрали "Нет " для развертывания приложения? При развертывании предложения Marketplace. В этой статье выбрано No. Однако если выбрано "Да", сохраните значениеappDeploymentYaml
, которое включает развертывание приложения.Вставьте значение
appDeploymentTemplateYaml
илиappDeploymentYaml
в оболочку Bash и выполните команду.Выходные данные этой команды — это YAML развертывания приложения. Найдите секрет TLS входящего трафика с ключевым словом
secretName
, например- secretName: secret785e2c
. СохранитеsecretName
значение.
Выполните следующие команды, чтобы задать переменные среды, которые были записаны на предыдущих шагах. Эти переменные среды используются далее в этой статье.
export RESOURCE_GROUP_NAME=<your-resource-group-name>
export REGISTRY_NAME=<your-registry-nam-of-container-registry>
export LOGIN_SERVER=<your-login-server-of-container-registry>
export INGRESS_TLS_SECRET=<your-ingress-tls-secret-name>
Создание экземпляра Базы данных SQL Azure
В этом разделе вы создадите База данных SQL Azure отдельную базу данных для использования с приложением.
Сначала задайте переменные среды, связанные с базой данных. Замените <your-unique-sql-server-name>
уникальным именем сервера База данных SQL Azure.
export SQL_SERVER_NAME=<your-unique-sql-server-name>
export DB_NAME=demodb
Выполните следующую команду в терминале, чтобы создать одну базу данных в База данных SQL Azure и задать текущего пользователя, выполнившего вход в систему, в качестве администратора Microsoft Entra. Дополнительные сведения см. в кратком руководстве. Создание одной базы данных — База данных SQL Azure.
export ENTRA_ADMIN_NAME=$(az account show --query user.name --output tsv)
az sql server create \
--name $SQL_SERVER_NAME \
--resource-group $RESOURCE_GROUP_NAME \
--enable-ad-only-auth \
--external-admin-principal-type User \
--external-admin-name $ENTRA_ADMIN_NAME \
--external-admin-sid $(az ad signed-in-user show --query id --output tsv)
az sql db create \
--resource-group $RESOURCE_GROUP_NAME \
--server $SQL_SERVER_NAME \
--name $DB_NAME \
--edition GeneralPurpose \
--compute-model Serverless \
--family Gen5 \
--capacity 2
Затем добавьте локальный IP-адрес в правила брандмауэра сервера База данных SQL Azure, чтобы разрешить локальному компьютеру подключаться к базе данных для локального тестирования позже.
export AZ_LOCAL_IP_ADDRESS=$(curl -s https://whatismyip.akamai.com)
az sql server firewall-rule create \
--resource-group $RESOURCE_GROUP_NAME \
--server $SQL_SERVER_NAME \
--name AllowLocalIP \
--start-ip-address $AZ_LOCAL_IP_ADDRESS \
--end-ip-address $AZ_LOCAL_IP_ADDRESS
Примечание.
Эта статья отключает проверку подлинности SQL, чтобы проиллюстрировать рекомендации по обеспечению безопасности. Идентификатор Microsoft Entra используется для проверки подлинности подключения к серверу. Если необходимо включить проверку подлинности SQL, см. раздел az sql server create
.
Создание подключения к службе в AKS с помощью соединителя службы
В этом разделе описано, как создать подключение к службе между кластером AKS и База данных SQL Azure с помощью Идентификация рабочей нагрузки Microsoft Entra с соединителем службы. Это подключение позволяет кластеру AKS получить доступ к База данных SQL Azure без использования проверки подлинности SQL.
Сначала предоставьте приложению разрешения поставщика ресурсов соединителя служб Azure для развернутых Шлюз приложений. Этот шаг необходим для успешного создания подключения к службе между кластером AKS и База данных SQL Azure.
- Перейдите к портал Azure и перейдите к созданной ранее группе ресурсов.
- В списке ресурсов в группе ресурсов выберите ресурс со значением типа шлюза приложений.
- Выберите Управление доступом (IAM). Затем разверните узел "Добавить " и выберите " Добавить назначение ролей".
- На вкладке "Роль" выберите роли привилегированного администратора. Затем выберите "Участник". Выберите Далее.
- На вкладке "Элементы" выберите " Выбрать участников". Затем найдите приложение поставщика ресурсов соединителя служб Azure. Выберите приложение и нажмите кнопку "Выбрать". Выберите Далее.
- Выберите Проверить + назначить. Подождите несколько секунд, пока назначение роли завершится.
Затем выполните следующие команды, чтобы создать соединение между кластером AKS и базой данных SQL, используя Идентификация рабочей нагрузки Microsoft Entra с соединителем службы. Дополнительные сведения см. в статье "Создание подключения к службе" в AKS с помощью соединителя службы (предварительная версия).
# Register the Service Connector and Kubernetes Configuration resource providers
az provider register --namespace Microsoft.ServiceLinker --wait
az provider register --namespace Microsoft.KubernetesConfiguration --wait
# Install the Service Connector passwordless extension
az extension add --name serviceconnector-passwordless --upgrade --allow-preview true
# Retrieve the AKS cluster and Azure SQL Server resource IDs
export AKS_CLUSTER_RESOURCE_ID=$(az aks show \
--resource-group $RESOURCE_GROUP_NAME \
--name $CLUSTER_NAME \
--query id \
--output tsv)
export AZURE_SQL_SERVER_RESOURCE_ID=$(az sql server show \
--resource-group $RESOURCE_GROUP_NAME \
--name $SQL_SERVER_NAME \
--query id \
--output tsv)
# Create a user-assigned managed identity used for workload identity
export USER_ASSIGNED_IDENTITY_NAME=workload-identity-uami
az identity create \
--resource-group ${RESOURCE_GROUP_NAME} \
--name ${USER_ASSIGNED_IDENTITY_NAME}
# Retrieve the user-assigned managed identity resource ID
export UAMI_RESOURCE_ID=$(az identity show \
--resource-group ${RESOURCE_GROUP_NAME} \
--name ${USER_ASSIGNED_IDENTITY_NAME} \
--query id \
--output tsv)
# Create a service connection between your AKS cluster and your SQL database using Microsoft Entra Workload ID
az aks connection create sql \
--connection akssqlconn \
--client-type java \
--source-id $AKS_CLUSTER_RESOURCE_ID \
--target-id $AZURE_SQL_SERVER_RESOURCE_ID/databases/$DB_NAME \
--workload-identity $UAMI_RESOURCE_ID
Примечание.
Мы рекомендуем использовать Идентификация рабочей нагрузки Microsoft Entra для безопасного доступа к База данных SQL Azure без использования проверки подлинности SQL. Если необходимо использовать проверку подлинности SQL, пропустить предыдущие шаги в этом разделе и использовать имя пользователя и пароль для подключения к База данных SQL Azure.
Получение учетной записи службы и секрета, созданного соединителем службы
Чтобы выполнить проверку подлинности в База данных SQL Azure, необходимо получить учетную запись службы и секрет, созданный соединителем службы. Следуйте инструкциям в разделе "Обновление контейнера" руководства. Подключение приложения AKS к База данных SQL Azure. Выполните параметр "Напрямую создать развертывание" с помощью предоставленного фрагмента кода YAML и выполните следующие действия.
Из выделенных разделов в примере yamL развертывания Kubernetes скопируйте
serviceAccountName
иsecretRef.name
значения, как показано в следующем примере:serviceAccountName: <service-account-name> containers: - name: raw-linux envFrom: - secretRef: name: <secret-name>
Используйте следующие команды для определения переменных среды. Замените и
<secret-name>
замените<service-account-name>
значения, скопированные на предыдущем шаге.export SERVICE_ACCOUNT_NAME=<service-account-name> export SECRET_NAME=<secret-name>
Эти значения используются в следующем разделе для развертывания приложения Liberty в кластере AKS.
Примечание.
Секрет, созданный соединителем службы, содержит AZURE_SQL_CONNECTIONSTRING
пароль, бесплатный строка подключения к База данных SQL Azure. Дополнительные сведения см. в примере значения в разделе проверки подлинности управляемого удостоверения, назначаемого пользователем, в разделе "Интеграция База данных SQL Azure с соединителем службы".
Теперь, когда вы настроили базу данных и кластер AKS, можно перейти к подготовке AKS к размещению приложения Open Liberty.
Настройка и развертывание примера приложения
Выполните действия, описанные в этом разделе, чтобы развернуть пример приложения в среде выполнения Liberty. Эти действия используют Maven.
Получение приложения для изменения
Клонируйте пример кода для этой статьи. Пример размещен на сайте GitHub.
В репозитории содержится несколько примеров. В этой статье используется java-app. Выполните следующие команды, чтобы получить пример:
git clone https://github.com/Azure-Samples/open-liberty-on-aks.git
cd open-liberty-on-aks
export BASE_DIR=$PWD
git checkout 20241107
Если появится сообщение о том, что оно в состоянии "отсоединяемая голова", вы можете безопасно игнорировать его. Сообщение просто означает, что вы проверили тег.
Ниже приведена структура файлов приложения с важными файлами и каталогами:
java-app
├─ src/main/
│ ├─ aks/
│ │ ├─ openlibertyapplication-agic-passwordless-db.yaml
│ ├─ docker/
│ │ ├─ Dockerfile
│ │ ├─ Dockerfile-wlp
│ ├─ liberty/config/
│ │ ├─ server.xml
│ ├─ java/
│ ├─ resources/
│ ├─ webapp/
├─ pom.xml
├─ pom-azure-identity.xml
Каталоги java, java и webapp содержат исходный код примера приложения. В коде объявлен и используется источник данных с именем jdbc/JavaEECafeDB
.
В каталоге aks файл openlibertyapplication-agic-passwordless-db.yaml используется для развертывания образа приложения с помощью AGIC и без пароля подключения к База данных SQL Azure. В этой статье предполагается, что вы используете этот файл.
В каталоге Docker есть два файла для создания образа приложения с помощью Open Liberty или WebSphere Liberty.
В каталоге liberty/config файл server.xml используется для настройки подключения к базе данных для кластера Open Liberty и WebSphere Liberty. Он определяет переменнуюazure.sql.connectionstring
, используемую для подключения к База данных SQL Azure.
Файл pom.xml — это файл объектной модели проекта Maven, содержащий сведения о конфигурации проекта. Файл pom-azure-identity.xml объявляет зависимость от azure-identity
. Этот файл используется для проверки подлинности в службах Azure с помощью идентификатора Microsoft Entra.
Примечание.
В этом примере используется azure-identity
библиотека для проверки подлинности для База данных SQL Azure с помощью проверки подлинности Microsoft Entra. Если вам нужно использовать проверку подлинности SQL в приложении Liberty, см. реляционную подключения к базе данных с JDBC.
Сборка проекта
Теперь, когда вы собрали необходимые свойства, создайте приложение. Файл POM для проекта считывает множество переменных из среды. В рамках сборки Maven эти переменные используются для заполнения значений в файлах YAML, расположенных в src/main/aks. Вы можете сделать что-то подобное для приложения за пределами Maven, если вы предпочитаете.
cd $BASE_DIR/java-app
# The following variables are used for deployment file generation into the target.
export LOGIN_SERVER=${LOGIN_SERVER}
export SC_SERVICE_ACCOUNT_NAME=${SERVICE_ACCOUNT_NAME}
export SC_SECRET_NAME=${SECRET_NAME}
export INGRESS_TLS_SECRET=${INGRESS_TLS_SECRET}
mvn clean install
mvn dependency:copy-dependencies -f pom-azure-identity.xml -DoutputDirectory=target/liberty/wlp/usr/shared/resources
Тестирование проекта локально
Запустите и протестируйте проект локально перед развертыванием в Azure. Для удобства в этой статье используется liberty-maven-plugin
. Дополнительные сведения см liberty-maven-plugin
. в статье Open Liberty Создание веб-приложения с помощью Maven.
Примечание.
Если выбрано развертывание базы данных без сервера, убедитесь, что база данных SQL не вошла в режим приостановки. Одним из способов этого является вход в редактор запросов базы данных, как описано в кратком руководстве. Используйте редактор запросов портал Azure (предварительная версия) для запроса База данных SQL Azure.
Запустите приложение с помощью
liberty:run
.cd $BASE_DIR/java-app # The value of environment variable AZURE_SQL_CONNECTIONSTRING is read by configuration variable `azure.sql.connectionstring` in server.xml export AZURE_SQL_CONNECTIONSTRING="jdbc:sqlserver://$SQL_SERVER_NAME.database.windows.net:1433;databaseName=$DB_NAME;authentication=ActiveDirectoryDefault" mvn liberty:run
Убедитесь, что приложение работает правильно. Вы увидите сообщение,
[INFO] [AUDIT ] CWWKZ0001I: Application javaee-cafe started in 18.235 seconds.
аналогичное выходным данным команды.http://localhost:9080/
Перейдите в браузер и убедитесь, что приложение доступно и все функции работают.Нажмите клавиши CTRL+C, чтобы остановиться. Нажмите клавишу Y , если вам будет предложено завершить пакетное задание.
По завершении удалите правило брандмауэра, позволяющее локальному IP-адресу получить доступ к База данных SQL Azure с помощью следующей команды:
az sql server firewall-rule delete \
--resource-group $RESOURCE_GROUP_NAME \
--server $SQL_SERVER_NAME \
--name AllowLocalIP
Создание образа для развертывания AKS
Теперь можно выполнить az acr build
команду для сборки образа, как показано в следующем примере:
cd $BASE_DIR/java-app/target
az acr build \
--registry ${REGISTRY_NAME} \
--image javaee-cafe:v1 \
.
Команда az acr build
отправляет артефакты, указанные в Dockerfile, в экземпляр реестра контейнеров, создает образ и сохраняет его в экземпляре реестра контейнеров.
Развертывание приложения в кластере AKS
Чтобы развернуть приложение Liberty в кластере AKS, выполните следующие действия.
Подключитесь к кластеру AKS.
Вставьте значение
cmdToConnectToCluster
в оболочку и выполните команду.Примените файл развертывания, выполнив следующие команды:
cd $BASE_DIR/java-app/target # Apply deployment file kubectl apply -f openlibertyapplication-agic-passwordless-db.yaml
Дождитесь успешного перезапуска всех модулей pod с помощью следующей команды:
kubectl get pods --watch
Выходные данные, аналогичные следующему примеру, указывают на выполнение всех модулей pod:
NAME READY STATUS RESTARTS AGE javaee-cafe-cluster-agic-67cdc95bc-2j2gr 1/1 Running 0 29s javaee-cafe-cluster-agic-67cdc95bc-fgtt8 1/1 Running 0 29s javaee-cafe-cluster-agic-67cdc95bc-h47qm 1/1 Running 0 29s
Тестирование приложения
При запуске модулей pod можно протестировать приложение с помощью общедоступного IP-адреса экземпляра Шлюз приложений.
Выполните следующую команду, чтобы получить и отобразить общедоступный IP-адрес экземпляра Шлюз приложений, предоставляемый ресурсом входящего трафика, созданного AGIC:
export APP_URL=https://$(kubectl get ingress | grep javaee-cafe-cluster-agic-ingress | cut -d " " -f14)/
echo $APP_URL
Скопируйте URL-адрес и откройте его в браузере, чтобы просмотреть домашнюю страницу приложения. Если веб-страница не отображается правильно или возвращает ошибку 502 Bad Gateway
, приложение по-прежнему начинается в фоновом режиме. Подождите несколько минут и повторите попытку.
Очистка ресурсов
Чтобы избежать расходов за использование Azure, необходимо удалить ненужные ресурсы. Если кластер больше не нужен, используйте az group delete
команду для удаления группы ресурсов, службы контейнеров, реестра контейнеров, базы данных и всех связанных ресурсов:
az group delete --name $RESOURCE_GROUP_NAME --yes --no-wait
Следующие шаги
Дополнительные сведения см. в следующих ссылках:
- Служба Azure Kubernetes
- Руководство. Подключение приложения AKS к База данных SQL Azure (предварительная версия)
- Интеграция База данных SQL Azure с соединителем службы
- Подключение с помощью проверки подлинности Microsoft Entra
- Open Liberty
- Open Liberty Operator
- Конфигурация сервера Open Liberty
- Подключаемый модуль Liberty Maven
- Образы контейнеров Open Liberty
- Образы контейнеров WebSphere Liberty
Дополнительные сведения о развертывании семейства IBM WebSphere в Azure см. в статье "Что такое решения для запуска семейства продуктов WebSphere в Azure?".
Azure Kubernetes Service