Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: Azure Logic Apps (стандартная версия)
Примечание.
Эта возможность доступна в предварительной версии, взимает плату за использование и распространяется на дополнительные условия использования для предварительных версий Microsoft Azure.
В сценариях, в которых необходимо использовать, контролировать и управлять собственной инфраструктурой, можно создавать рабочие процессы логических приложений уровня "Стандартный", используя модель гибридного развертывания в Azure Logic Apps. Эта модель предоставляет возможности для создания и размещения решений интеграции для частично подключенных сред, требующих локальной обработки, хранения и сетевого доступа. Инфраструктура может включать локальные системы, частные облака и общедоступные облака. С гибридной моделью ваш рабочий процесс логического приложения уровня "Стандартный" работает на среде выполнения Azure Logic Apps, которая размещена на локальной инфраструктуре как часть расширения для Azure Container Apps.
Для получения обзора архитектуры, где размещаются и запускаются рабочие процессы логического приложения "Standard" в частично подключенной среде, см. раздел Настройка требований к инфраструктуре для гибридного развертывания логических приложений Standard.
В этом руководстве показано, как создать и развернуть рабочий процесс приложения логики уровня "Стандартный" с помощью гибридной модели развертывания после настройки необходимых локальных ресурсов для размещения приложения.
Ограничения
Гибридное развертывание для приложений логики уровня "Стандартный" доступно и поддерживается только в том же регионе, что и приложения контейнеров Azure в AKS с поддержкой Azure Arc.
Аутентификация с управляемым удостоверением для управляемых API соединителей на данный момент недоступна в этом предварительном выпуске.
Кластеры Kubernetes с поддержкой Azure Arc в настоящее время не поддерживают проверку подлинности управляемого удостоверения для управляемых подключений API. Вместо этого необходимо создать собственную регистрацию приложения с помощью идентификатора Microsoft Entra. Дополнительные сведения см. далее в этом руководстве.
Для некоторых триггеров на основе функций, таких как Azure Blob, Cosmos DB и Event Hubs, требуется подключение к учетной записи хранения Azure, связанной с приложением логики стандартного уровня. Если вы используете какие-либо триггеры на основе функций, в переменных среды стандартного логического приложения в портале Azure или в файле local.settings.json проекта приложения логики в Visual Studio Code добавьте следующий параметр приложения и укажите строку подключения учетной записи хранения.
"Values": { "name": "AzureWebJobsStorage", "value": "{storage-account-connection-string}" }
Предварительные условия
Учетная запись и подписка Azure. Если у вас нет ее, вы можете зарегистрироваться для получения бесплатной учетной записи Azure.
Следующие локальные ресурсы, которые должны существовать в одной сети для требуемого подключения:
- Кластер службы Azure Kubernetes, подключенный к Azure Arc
- База данных SQL для локального хранения журнала выполнения рабочих процессов, входных данных и выходных данных для обработки
- Общий файловый ресурс блока сообщений сервера (SMB) для локального хранения артефактов, используемых рабочими процессами
Чтобы удовлетворить эти требования, настройте эти локальные ресурсы для поддержки гибридного развертывания для логических приложений уровня Standard.
Чтобы работать в Visual Studio Code, вам потребуется расширение Azure Logic Apps (standard) для Visual Studio Code с соответствующими предварительными условиями.
Совет
Если у вас есть новая установка Visual Studio Code, убедитесь, что вы можете локально запустить базовый рабочий процесс уровня "Стандартный" перед развертыванием в собственной инфраструктуре. Этот тестовый запуск помогает изолировать любые ошибки, которые могут существовать в проекте рабочего процесса "Стандартный".
Создайте стандартное приложение логики
После выполнения предварительных требований создайте приложение логики уровня "Стандартный" для гибридного развертывания, выполнив следующие действия.
В поле поиска портала Azure введите Logic Apps и выберите Logic Apps.
На панели инструментов страницы "Приложения логики" нажмите кнопку "Добавить".
На странице "Создание приложения логики" в разделе "Стандартный" выберите "Гибридный".
На странице создания приложения логики (гибридного) укажите следующие сведения:
Свойство Обязательное поле значение Описание Подписка Да < имя-подписки-Azure> Имя подписки Azure.
В этом примере используется оплата по мере использования.Группа ресурсов Да < имя-группы-ресурсов-Azure> Группа ресурсов Azure, в которой создается гибридное приложение и связанные ресурсы. Это имя должно быть уникальным во всех регионах и может содержать только буквы, цифры, дефисы (-), символы подчеркивания (_), круглые скобки (()) и точки (.).
В этом примере создается группа ресурсов с именем Hybrid-RG.Имя приложения логики Да < logic-app-name> Имя приложения логики, которое должно быть уникальным в разных регионах и может содержать только строчные буквы, цифры или дефисы (-).
В этом примере используется my-logic-app-hybrid.Регион Да < Azure-region> Регион Azure, поддерживаемый для Azure Container Apps в AKS с поддержкой Azure Arc.
В этом примере используется Восточная часть США.Подключенная среда приложения-контейнера Да < имя подключенной среды> Кластер Kubernetes с поддержкой Arc, созданный в качестве среды развертывания для приложения логики. Дополнительные сведения см. в руководстве «Учебник: Включение приложений Azure Container на Kubernetes с поддержкой Azure Arc». Настройка параметров хранилища Да Включен или отключен Перейдите на вкладку "Хранилище" на странице "Создание приложения логики (гибридной среды"). В следующем примере показана страница создания приложения логики в портал Azure с примерами значений:
На странице хранилища укажите следующие сведения о поставщике хранилища и общей папке SMB, настроенной ранее:
Свойство Обязательное поле значение Описание Строка подключения SQL Да < sql-server-connection-string> Строка подключения SQL Server, сохранённая ранее. Дополнительные сведения см. в разделе "Создание поставщика хранилища SQL Server". Имя узла Да < file-share-host-name> Имя узла для общей папки SMB. Путь к общей папке Да < путь к общей папке для файлов> Путь к вашей SMB-совместной файловой папке. Имя пользователя Да < имя пользователя file-share> Имя пользователя для общей папки SMB. Пароль Да < Пароль для общего доступа к файлу> Пароль для общей папки SMB. По завершении нажмите кнопку "Просмотр и создание". Подтвердите предоставленные сведения и нажмите кнопку "Создать".
После завершения развертывания Azure выберите "Перейти к ресурсу".
Портал Azure открывает ресурс логического приложения, например:
В меню ресурсов приложения логики в разделе "Рабочие процессы" выберите "Рабочие процессы".
На панели инструментов страницы "Рабочие процессы" выберите "Добавить", чтобы добавить пустой рабочий процесс с состоянием или без состояния.
После открытия конструктора создайте рабочий процесс, добавив триггер и действия.
Дополнительные сведения см. в разделе "Создание рабочего процесса с помощью триггера и действий".
Примечание.
Стандартное приложение логики с параметром гибридного размещения автоматически создает новую редакцию, которая является концепцией управления версиями из Azure Container Apps, при сохранении изменений в дочернем рабочем процессе. Эта редакция может занять некоторое время для активации, что означает, что после сохранения изменений может потребоваться подождать несколько минут, прежде чем протестировать рабочий процесс.
Если изменения еще не появились в рабочем процессе, можно проверить, существует ли редакция:
В меню ресурсов в разделе Редакции выберите Редакции и реплики.
На странице "Редакции и реплики" на вкладке "Активные редакции" проверьте, отображается ли новая редакция в списке.
Дополнительные сведения см. на следующих ресурсах:
Изменение виртуального ЦП и выделения памяти на портале Azure
Вы можете изменить параметры виртуального ЦП и памяти для ресурса приложения логики уровня "Стандартный". Эти изменения влияют на плату за выставление счетов для рабочих нагрузок приложения логики "Стандартный".
На портале Azure откройте ресурс стандартного логического приложения.
В меню ресурсов в разделе "Параметры" выберите "Контейнеры".
На панели инструментов "Контейнеры" выберите "Изменить и развернуть", чтобы открыть панель "Изменить контейнер".
На вкладке "Свойства" в разделе "Выделение ресурсов контейнера" измените следующие значения, чтобы соответствовать вашему сценарию:
Свойство значение Описание Ядра ЦП — значение по умолчанию: 1
- Минимум: 0,25
- Максимум: 2Определяет, какие ядра виртуальных ЦП следует назначить вашему экземпляру контейнера. Это значение можно увеличить на 0,25 ядра до максимального значения. Общее число всех экземпляров контейнеров для этого приложения логики ограничено 2 ядрами. Память — значение по умолчанию: 2
— минимум: 0,1
- Максимум: 4Определяет емкость памяти в гибибайтах (Ги), чтобы назначить экземпляру контейнера. Это значение можно увеличить на 0,1 Ги до максимального значения. Общая память для всех контейнерных экземпляров этого логического приложения ограничена 4 гибибайтами. По завершении нажмите кнопку Сохранить.
Изменение масштабирования реплики в портале Azure
Вы можете управлять автоматическим масштабированием для диапазона реплик, развертываемых в ответ на событие триггера. Реплика — это новый экземпляр редакции или версии ресурса приложения логики. Чтобы изменить минимальные и максимальные значения этого диапазона, можно изменить правила масштабирования, чтобы определить типы событий, которые активируют масштабирование. Дополнительные сведения см. в статье Установка правил масштабирования в Контейнерах приложений Azure.
На портале Azure откройте ресурс стандартного логического приложения.
В меню ресурсов в разделе "Параметры" выберите "Масштаб".
На странице "Масштабирование" в разделе "Параметр правила масштабирования" измените следующие значения, чтобы соответствовать вашему сценарию:
Свойство значение Описание Минимальные реплики — значение по умолчанию: 1
— минимум: 0
— максимум: 1000Определяет минимальное количество реплик, допускаемых для ревизии в любой момент времени. Это значение переопределяет правила масштабирования и должно быть меньше максимального количества реплик. Максимальное число реплик — значение по умолчанию: 30
— минимум: 0
— максимум: 1000Определяет максимальное количество реплик, разрешенных для ревизии в любой момент времени. Это значение переопределяет правила масштабирования. По завершении нажмите кнопку Сохранить.
Управление входящим трафиком в логическое приложение в портале Azure
Вы можете предоставить приложение логики общедоступному интернету, виртуальной сети и другим приложениям логики в вашей среде, включив входящий трафик. Azure применяет настройки входящего трафика с помощью набора правил, которые управляют маршрутизацией внешнего и внутреннего трафика для вашего приложения логики. При включении входящего трафика вам не нужно создавать Azure Load Balancer, общедоступный IP-адрес или другие ресурсы Azure, чтобы включить входящие HTTP-запросы или TCP-трафик. Для получения дополнительной информации см. раздел «Ingress в контейнерных приложениях».
Примечание.
При включении режима Ingress весь трафик по умолчанию будет направлен на вашу последнюю ревизию. Перейдите на страницу управления редакцией, чтобы изменить параметры трафика.
В меню ресурсов в разделе Параметры выберите Вход.
На странице Ingress рядом с Ingress установите флажок Включено.
На основе вашего сценария настройте остальные параметры.
Дополнительные сведения см. в следующей документации:
Настройка проверки подлинности для управляемых подключений API
Чтобы проверить подлинность управляемых подключений API в рабочих процессах приложения логики уровня "Стандартный", размещенных в кластерах Kubernetes с поддержкой Azure Arc, необходимо создать собственную регистрацию приложения с помощью идентификатора Microsoft Entra. Затем вы можете добавить значения этой регистрации приложения в качестве переменных среды в ваш стандартный ресурс логического приложения, чтобы использовать их для аутентификации ваших API-соединений.
Создание регистрации приложения с помощью идентификатора Microsoft Entra
Портал Azure
В портале Azure следуйте краткому руководству: Регистрация приложения с платформой удостоверений Microsoft, чтобы зарегистрировать приложение.
После завершения создания найдите регистрацию нового приложения на портале.
В меню ресурсов выберите "Обзор" и сохраните следующие значения, которые потребуется позже для проверки подлинности подключения:
- Идентификатор клиента
- Идентификатор клиента
- Секрет клиента
Для идентификатора объекта выполните следующие действия.
На странице Обзор выберите ссылку Управляемое приложение в локальном каталоге для регистрации приложения, как показано.
На открывающейся странице скопируйте и сохраните значение идентификатора объекта:
Добавьте сохраненные значения в виде переменных среды в ресурс логического приложения Standard.
Azure CLI (Интерфейс командной строки для Azure)
Чтобы создать регистрацию приложения, используйте команду az ad sp create.
Чтобы просмотреть все свойства, используйте команду az ad sp show.
В выходных данных обеих команд найдите и сохраните следующие значения, которые потребуется позже для проверки подлинности подключения:
- Идентификатор клиента
- Код объекта
- Идентификатор клиента
- Секрет клиента
Добавьте сохраненные значения в виде переменных среды в ресурс логического приложения Standard.
Добавьте значения регистрации приложений в ваше логическое приложение Standard
Перейдите в портал Azure и откройте ваш ресурс логического приложения Standard.
В меню ресурсов в разделе "Параметры" выберите "Контейнеры" и перейдите на вкладку "Переменные среды".
Дополнительные сведения о параметрах приложения и параметрах узла см. в разделе "Изменение параметров приложения" и параметров узла.
На панели инструментов выберите "Изменить" и "Развернуть".
На панели "Изменить контейнер" выберите переменные среды и нажмите кнопку "Добавить".
В следующей таблице добавьте каждую переменную среды с указанным значением:
Переменная среды значение WORKFLOWAPP_AAD_CLIENTID < my-client-ID> WORKFLOWAPP_AAD_OBJECTID < my-object-ID> WORKFLOWAPP_AAD_TENANTID < my-tenant-ID> WORKFLOWAPP_AAD_CLIENTSECRET < my-client-secret> По завершении нажмите кнопку Сохранить.
Хранение и ссылка на идентификатор клиента и секрет клиента
Вы можете хранить идентификатор клиента и значения секретов клиента в ресурсе приложения логики в качестве секретов, а затем ссылаться на эти значения на вкладке переменных среды.
На портале Azure перейдите к своему ресурсу приложения логики.
В меню ресурсов в разделе "Параметры" выберите "Секреты".
На панели инструментов выберите Добавить.
На панели "Добавить секрет" укажите следующие сведения для каждого секрета и нажмите кнопку "Добавить".
Ключ значение WORKFLOWAPP_AAD_CLIENTID < my-client-ID> WORKFLOWAPP_AAD_CLIENTSECRET < my-client-secret>
Известные проблемы и устранение неполадок
Кластеры Kubernetes с поддержкой Arc
В редких случаях вы можете заметить высокое потребление памяти в вашем кластере. Чтобы предотвратить эту проблему, выполните горизонтальное масштабирование или добавьте автомасштабирование для пулов узлов.
Хост функций не запущен
После развертывания приложения логики уровня "Стандартный" убедитесь, что приложение работает правильно.
На портале Azure откройте ресурс приложения логики.
В меню ресурсов выберите Обзор.
На странице "Обзор" рядом с полем "URL-адрес приложения" выберите URL-адрес ресурса.
Если приложение работает правильно, откроется окно браузера и отображается следующее сообщение:
В противном случае, если приложение имеет какие-либо сбои, убедитесь, что модули pod AKS работают правильно. В Windows PowerShell выполните следующие команды:
az aks get-credentials {resource-group-name} --name {aks-cluster-name} --admin kubectl get ns kubectl get pods -n logicapps-aca-ns kubectl describe pod {logic-app-pod-name} -n logicapps-aca-ns
Дополнительные сведения см. в следующей документации:
Кластер не имеет достаточно узлов
Если вы выполнили предыдущую команду и получите предупреждение, аналогичное следующему примеру, кластер не имеет достаточно узлов для обработки:
Warning: FailedScheduling 4m52s (x29 over 46m) default-scheduler 0/2 nodes are available: 2 Too many pods. preemption: 0/2 nodes are available: 2 No preemption victims found for incoming pod.
Чтобы увеличить количество узлов и настроить автомасштабирование, выполните следующие действия.
В портале Azure перейдите к вашему экземпляру службы Kubernetes.
В меню экземпляра в разделе «Параметры» выберите пулы узлов.
На панели инструментов узла нажмите кнопку +Добавить пул узлов.
Дополнительные сведения см. в следующей документации:
- Создайте пулы узлов для кластера в Azure Kubernetes Service (AKS)
- Управление пулами узлов для кластера в Служба Azure Kubernetes (AKS)
- Обзор автомасштабирования кластера в Служба Azure Kubernetes (AKS)
- Использование автомасштабирования кластера в Служба Azure Kubernetes (AKS)
Драйвер SMB Container Storage Interface (CSI) не установлен
После выполнения предыдущей kubectl describe pod
команды, если появится следующее предупреждение, убедитесь, установлен ли драйвер CSI для общей папки SMB правильно:
Warning FailedScheduling 5m16s (x2 over 5m27s) default-scheduler 0/14 nodes are available: pod has unbound immediate PersistentVolumeClaims. preemption: 0/14 nodes are available: 14 Preemption is not helpful for scheduling.
Normal NotTriggerScaleUp 9m49s (x31 over 14m) cluster-autoscaler pod didn't trigger scale-up: 3 pod has unbound immediate PersistentVolumeClaims
Чтобы подтвердить, выполните следующие команды из Windows PowerShell:
kubectl get csidrivers
Если список результатов, который отображается, не включает smb.csi.k8s.io, из командной строки Windows и выполните следующую команду:
helm repo add csi-driver-smb
helm repo update
helm install csi-driver-smb csi-driver-smb/csi-driver-smb --namespace kube-system --version v1.15.0
Чтобы проверить состояние pod драйвера SMB CSI, в командной строке Windows выполните следующую команду:
kubectl --namespace=kube-system get pods --selector="app.kubernetes.io/name=csi-driver-smb" --watch
Дополнительные сведения см. о драйверах интерфейса хранилища контейнеров (CSI) в службе Azure Kubernetes (AKS).
Связанный контент
- Установите требования к развертыванию стандартного логического приложения на вашей собственной инфраструктуре.