Иногда необходимо настроить собственную инфраструктуру и управлять ею, чтобы обеспечить соответствие нормативным требованиям, конфиденциальность данных или ограничения сети. Azure Logic Apps предлагает модель гибридного развертывания, чтобы можно было развертывать и размещать рабочие процессы приложения логики уровня "Стандартный" в локальных, частных облаках или в общедоступных облачных сценариях. Эта модель предоставляет возможности размещения решений интеграции в частично подключенных средах, когда необходимо использовать локальную обработку, хранилище данных и сетевой доступ. С помощью гибридного варианта у вас есть свобода и гибкость, чтобы выбрать оптимальную среду для рабочих процессов.
Как работает гибридное развертывание
Рабочие процессы приложения логики уровня "Стандартный" с параметром гибридного развертывания используются средой выполнения Azure Logic Apps, размещенной в расширении приложений контейнеров Azure. В рабочем процессе все встроенные операции выполняются локально с средой выполнения, чтобы получить более высокую пропускную способность для доступа к локальным источникам данных. Если вам нужен доступ к не локальным ресурсам данных, например облачным службам, таким как Microsoft Office 365, Microsoft Teams, Salesforce, GitHub, LinkedIn или ServiceNow, можно выбрать операции из 1000+ соединителей, размещенных в Azure , чтобы включить в рабочие процессы. Дополнительные сведения см. в разделе "Управляемые (общие) соединители". Хотя вам нужно иметь подключение к Интернету для управления приложением логики в портал Azure, полусоединенный характер этой платформы позволяет поглощать любые временные проблемы с подключением к Интернету.
Например, если у вас есть локальный сценарий, в следующем обзоре архитектуры показано, где размещаются рабочие процессы приложения логики "Стандартный" и выполняются в гибридной модели. Частично подключенная среда включает следующие ресурсы для размещения и работы с приложениями логики уровня "Стандартный", которые развертываются в качестве ресурсов приложений контейнеров Azure:
Кластеры Служба Azure Kubernetes с поддержкой Azure Arc (AKS)
База данных SQL для локального хранения журнала выполнения рабочих процессов, входных данных и выходных данных для обработки
Общий файловый ресурс блока сообщений сервера (SMB) для локального хранения артефактов, используемых рабочими процессами
В этом руководстве показано, как настроить необходимые локальные ресурсы в инфраструктуре, чтобы можно было создавать, развертывать и размещать рабочий процесс приложения логики уровня "Стандартный" с помощью гибридной модели развертывания.
Как работает выставление счетов
При использовании гибридного варианта вы отвечаете за следующие элементы:
Инфраструктура Kubernetes с поддержкой Azure Arc
Лицензия SQL Server
Плата за выставление счетов в размере 0,18 долл. США за виртуальный ЦП/час для поддержки рабочих нагрузок приложения логики уровня "Стандартный"
В этой модели выставления счетов вы платите только за необходимые ресурсы и масштабируйте ресурсы для динамических рабочих нагрузок без необходимости покупать пиковое использование. Для рабочих процессов, использующих операции соединителя, размещенные в Azure, такие как Microsoft Teams или Microsoft Office 365, существующие цены на стандартный (один клиент) применяются к этим выполнениям операций.
Ограничения
Гибридное развертывание в настоящее время доступно и поддерживается только для следующих кластеров Kubernetes с поддержкой Azure Arc:
Кластеры Kubernetes с поддержкой Azure Arc
Кластеры Kubernetes с поддержкой Azure Arc в Azure Stack HCI
Кластеры Kubernetes с поддержкой Azure Arc в Windows Server
Прежде чем развернуть приложение логики уровня "Стандартный" в качестве локального ресурса в кластере Kubernetes с поддержкой Azure Arc в подключенной среде приложений контейнеров Azure, сначала потребуется кластер Kubernetes. Позже вы подключите этот кластер к Azure Arc, чтобы иметь кластер Kubernetes с поддержкой Azure Arc.
Вы также можете создать кластер Kubernetes в инфраструктуре Azure Stack HCI или кластере Kubernetes в Windows Server и применить действия, описанные в этом руководстве, чтобы подключить кластер к Azure Arc и настроить подключенную среду. Дополнительные сведения о Azure Stack HCI и AKS в Windows Server см. в следующих ресурсах:
Имя группы ресурсов Azure, используемой в кластере Kubernetes. Это имя должно быть уникальным во всех регионах и может содержать только буквы, цифры, дефисы (-), символы подчеркивания (_), круглые скобки (()) и точки (.).
Обязательно измените значения максимального количества и минимального количества узлов на основе требований к нагрузке.
Azure CLI
az loginaz account set --subscription$SUBSCRIPTIONaz provider register --namespace Microsoft.KubernetesConfiguration --waitaz extension add --name k8s-extension--upgrade--yesaz group create--name$AKS_CLUSTER_GROUP_NAME--location$LOCATIONaz aks create \
--resource-group$AKS_CLUSTER_GROUP_NAME \
--name$AKS_NAME \
--enable-aad \
--generate-ssh-keys \
--enable-cluster-autoscaler \
--max-count6 \
--min-count1
Параметр
Обязательное поле
значение
Описание
max count
No
<max-nodes-value>
Максимальное количество узлов, используемых для автомасштабирования при включении enable-cluster-autoscaler параметра. Это значение диапазонов от 1 до 1000.
min count
No
<min-nodes-value>
Минимальное количество узлов, используемых для автомасштабирования при включении enable-cluster-autoscaler параметра. Это значение диапазонов от 1 до 1000.
Дополнительные сведения см. на следующих ресурсах:
Чтобы создать кластер Kubernetes с поддержкой Azure Arc, подключите кластер Kubernetes к Azure Arc.
Примечание
Действия, описанные в этом разделе, можно найти в репозитории GitHub с именем Azure/logicapps, чтобы создать подключенную среду в скрипте с именем EnvironmentSetup.ps1.
Этот скрипт можно изменить и использовать для удовлетворения ваших требований и сценариев.
Скрипт не назначен, поэтому перед запуском скрипта выполните следующую команду Azure PowerShell от имени администратора, чтобы задать политику выполнения:
Проверьте подключение к кластеру, получив файл kubeconfig:
Azure CLI
az aks get-credentials \
--resource-group$AKS_CLUSTER_GROUP_NAME \
--name$AKS_NAME \
--admin
kubectl get ns
По умолчанию файл kubeconfig сохраняется в пути ~/.kube/config. Эта команда применяется к нашему примеру кластера Kubernetes и отличается для других типов кластеров Kubernetes.
Дополнительные сведения см. на следующих ресурсах:
На основе развертывания кластера Kubernetes задайте следующую переменную среды, чтобы указать имя для группы ресурсов Azure, содержащей кластер и ресурсы с поддержкой Azure Arc:
Имя группы ресурсов Azure, используемой с кластером с поддержкой Azure Arc и другими ресурсами, такими как расширение "Приложения контейнеров Azure", пользовательское расположение и подключенная среда приложений контейнеров Azure. Это имя должно быть уникальным во всех регионах и может содержать только буквы, цифры, дефисы (-), символы подчеркивания (_), круглые скобки (()) и точки (.).
В этом примере используется Hybrid-Arc-RG.
Создайте группу ресурсов Azure для кластера и ресурсов с поддержкой Azure Arc:
Azure CLI
az group create \
--name$GROUP_NAME \
--location$LOCATION
Дополнительные сведения см. на следующих ресурсах:
Задайте следующую переменную среды, чтобы указать имя кластера Kubernetes с поддержкой Azure Arc:
Azure CLI
CONNECTED_CLUSTER_NAME="$GROUP_NAME-cluster"
Параметр
Обязательное поле
значение
Описание
CONNECTED_CLUSTER_NAME
Да
<Azure-Arc-cluster-resource-group-name-cluster>
Имя, используемое для кластера с поддержкой Azure Arc. Это имя должно быть уникальным во всех регионах и может содержать только буквы, цифры, дефисы (-), символы подчеркивания (_), круглые скобки (()) и точки (.).
В этом примере используется гибридный кластер Arc-RG-cluster.
Подключите ранее созданный кластер Kubernetes к Azure Arc:
Azure CLI
az connectedk8s connect \
--resource-group$GROUP_NAME \
--name$CONNECTED_CLUSTER_NAME
Дополнительные сведения см. на следующих ресурсах:
Вы можете создать необязательную рабочую область Azure Log Analytics, которая предоставляет доступ к журналам для приложений, работающих в кластере Kubernetes с поддержкой Azure Arc.
Задайте следующую переменную среды, чтобы указать имя рабочей области Log Analytics:
Azure CLI
WORKSPACE_NAME="$GROUP_NAME-workspace"
Параметр
Обязательное поле
значение
Описание
WORKSPACE_NAME
Да
<Azure-Arc-cluster-resource-group-name-workspace>
Имя, используемое для рабочей области Log Analytics. Это имя должно быть уникальным в группе ресурсов.
В этом примере используется рабочая область Hybrid-Arc-RG-workspace.
Создайте рабочую область Log Analytics:
Azure CLI
az monitor log-analytics workspace create \
--resource-group$GROUP_NAME \
--workspace-name$WORKSPACE_NAME
Дополнительные сведения см. на следующих ресурсах:
Пространство имен кластера, в котором требуется подготовить ресурсы.
CONNECTED_ENVIRONMENT_NAME
Да
<имя подключенной среды>
Уникальное имя, используемое для подключенной среды приложений контейнеров Azure. Это имя становится частью доменного имени для приложения логики уровня "Стандартный", которое вы создаете, развертываете и размещаете в подключенной среде приложений контейнеров Azure.
Создайте и установите расширение с поддержкой Log Analytics для кластера Kubernetes с поддержкой Azure Arc. Позже вы не можете добавить Log Analytics в расширение.
Учетная запись службы, созданная для пользовательского расположения.
Рекомендация. Задайте значение по умолчанию.
appsNamespace
Да
Пространство имен, используемое для создания определений и редакций приложений. Это значение должно соответствовать пространству имен выпуска для расширения "Приложения контейнеров Azure".
clusterName
Да
Имя для среды Kubernetes расширения приложений контейнеров Azure для создания расширения.
Включите масштабировщик Azure Logic Apps в KEDA. Это значение является обязательным и должно иметь значение true.
keda.logicAppsScaler.replicaCount
Да
Начальное число масштабировщиков приложений логики для запуска. Значение по умолчанию, равное 1. Это значение масштабируется вверх или масштабируется до 0, если в среде нет приложений логики.
containerAppController.api.functionsServerEnabled
Да
Включите службу, отвечающую за преобразование триггеров рабочего процесса приложения логики в масштабируемые объекты KEDA. Это значение является обязательным и должно иметь значение true.
envoy.externalServiceAzureILB
Да
Определяет, действует ли посланник как внутренняя подсистема балансировки нагрузки или общедоступная подсистема балансировки нагрузки.
- True: посланник выступает в качестве внутренней подсистемы балансировки нагрузки. Среда выполнения Azure Logic Apps доступна только в частной сети.
- false: посланник выступает в качестве общедоступной подсистемы балансировки нагрузки. Среда выполнения Azure Logic Apps доступна через общедоступную сеть.
functionsProxyApiConfig.enabled
Да
Включите прокси-службу, которая упрощает доступ API к среде выполнения Azure Logic Apps из портал Azure. Это значение является обязательным и должно иметь значение true.
При возникновении проблем с созданием настраиваемого расположения в кластере может потребоваться включить функцию пользовательского расположения в кластере.
Этот шаг необходим, если вы вошли в Azure CLI с помощью субъекта-службы или если вы вошли в систему в качестве пользователя Microsoft Entra с ограниченными разрешениями на ресурс кластера.
Дополнительные сведения см. на следующих ресурсах:
Рабочие процессы приложения логики в модели гибридного развертывания используют базу данных SQL в качестве поставщика хранилища для данных, используемых рабочими процессами и средой выполнения Azure Logic Apps, например журнал выполнения рабочих процессов, входные данные, выходные данные и т. д.
Для базы данных SQL требуется входящее и исходящее подключение к кластеру Kubernetes, поэтому эти ресурсы должны существовать в той же сети.
Убедитесь, что база данных SQL находится в той же сети, что и кластер Kubernetes с поддержкой Arc и общий файловый ресурс SMB.
Найдите и сохраните строка подключения для созданной базы данных SQL.
Настройка общей папки SMB для хранилища артефактов
Для хранения артефактов, таких как карты, схемы и сборки для ресурса приложения логики (приложения-контейнера), вам потребуется общий файловый ресурс, использующий протокол SMB.
Вам нужен доступ администратора для настройки общей папки SMB.
Общая папка SMB должна существовать в той же сети, что и кластер Kubernetes и база данных SQL.
Для общей папки SMB требуется входящее и исходящее подключение к кластеру Kubernetes. Если вы включили ограничения виртуальной сети Azure, убедитесь, что общая папка существует в той же виртуальной сети, что и кластер Kubernetes или в одноранговой виртуальной сети.
Не используйте одинаковый путь к общей папке для нескольких приложений логики.
Вы можете использовать отдельные общие папки SMB для каждого приложения логики или использовать разные папки в одной общей папке SMB, если эти папки не вложены. Например, у приложения логики нет корневого пути, а затем другое приложение логики использует вложенную папку.
Чтобы развернуть приложение логики с помощью Visual Studio Code, убедитесь, что локальный компьютер с Visual Studio Code может получить доступ к общей папке.
Настройка общей папки SMB в Windows
Убедитесь, что общая папка SMB существует в той же виртуальной сети, что и кластер, в котором вы подключаете общую папку.
В Windows перейдите в папку, которую хотите предоставить общий доступ, откройте контекстное меню и выберите "Свойства".
На вкладке "Общий доступ" выберите "Общий доступ".
В открывшемся поле выберите человека, которому требуется доступ к общей папке.
Выберите "Общий доступ" и скопируйте ссылку для сетевого пути.
Если локальный компьютер не подключен к домену, замените имя компьютера в сетевом пути IP-адресом.
Сохраните IP-адрес для последующего использования в качестве имени узла.
Настройка Файлы Azure в качестве общей папки SMB
Кроме того, в целях тестирования можно использовать Файлы Azure в качестве общей папки SMB. Убедитесь, что общая папка SMB существует в той же виртуальной сети, что и кластер, в котором вы подключаете общую папку.
Чтобы проверить подключение между кластером Kubernetes с поддержкой Arc и общей папкой SMB, а также проверить правильность настройки общей папки, выполните следующие действия.
Если общая папка SMB не находится в одном кластере, убедитесь, что операция ping работает из кластера Kubernetes с поддержкой Arc, на виртуальную машину с общей папкой SMB. Чтобы проверить, работает ли операция проверки ping, выполните следующие действия.
В кластере Kubernetes с поддержкой Arc создайте тестовый модуль pod , на котором выполняется любой образ Linux, например BusyBox или Ubuntu.
Перейдите к контейнеру в pod и установите пакет iputils-ping , выполнив следующие команды Linux:
apt-get update
apt-get install iputils-ping
Чтобы убедиться, что общая папка SMB настроена правильно, выполните следующие действия:
В тестовом модуле pod с тем же образом Linux создайте папку с именем mnt/smb.
Перейдите в корневой или домашний каталог, содержащий папку mnt .
Выполните следующую команду:
- mount -t cifs //{ip-address-smb-computer}/{file-share-name}/mnt/smb -o username={user-name}, password={password}
Чтобы убедиться, что артефакты правильно передаются, подключитесь к пути к общей папке SMB и проверьте, существуют ли файлы артефактов в правильной папке, указанной во время развертывания.
Присоединитесь к серии встреч для создания масштабируемых решений искусственного интеллекта на основе реальных вариантов использования с другими разработчиками и экспертами.
Azure HPC — это специально разработанная облачная возможность для рабочей нагрузки HPC и ИИ, использующая современные отраслевые процессоры и обмен данными по сети InfiniBand для обеспечения максимальной производительности, масштабируемости и ценности приложений. Azure HPC позволяет реализовывать инновации, повышать продуктивность и развивать гибкость бизнеса за счет высокодоступного набора технологий HPC и ИИ с возможностью их динамического распределения в соответствии с изменением коммерческих и техническ
Администрирование инфраструктуры базы данных SQL Server для облачных, локальных и гибридных реляционных баз данных с помощью предложений реляционной базы данных Microsoft PaaS.
Создайте и разверните пример рабочего процесса приложения логики "Стандартный" в собственной управляемой инфраструктуре, которая может включать локальные, частные облака и общедоступные облачные среды.
Узнайте о различиях между рабочими процессами уровня "Стандартный" (один клиент) и рабочими процессами потребления (мультитенантными) в Azure Logic Apps.