События
Присоединение к вызову ИИ Навыков
8 апр., 15 - 28 мая, 07
Отточите свои навыки ИИ и введите подметки, чтобы выиграть бесплатный экзамен сертификации
Зарегистрируйтесь!Этот браузер больше не поддерживается.
Выполните обновление до Microsoft Edge, чтобы воспользоваться новейшими функциями, обновлениями для системы безопасности и технической поддержкой.
Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: Azure Logic Apps (стандартная версия)
Примечание
Эта возможность доступна в предварительной версии, взимает плату за использование и распространяется на дополнительные условия использования для предварительных версий Microsoft Azure.
Иногда необходимо настроить собственную инфраструктуру и управлять ею, чтобы обеспечить соответствие нормативным требованиям, конфиденциальность данных или ограничения сети. Azure Logic Apps предлагает модель гибридного развертывания, чтобы можно было развертывать и размещать рабочие процессы приложения логики уровня "Стандартный" в локальных, частных облаках или в общедоступных облачных сценариях. Эта модель предоставляет возможности размещения решений интеграции в частично подключенных средах, когда необходимо использовать локальную обработку, хранилище данных и сетевой доступ. С помощью гибридного варианта у вас есть свобода и гибкость, чтобы выбрать оптимальную среду для рабочих процессов.
Рабочие процессы Logic Apps в стандартной версии с возможностью гибридного развертывания работают на среде выполнения Azure Logic Apps, размещенной в расширении Azure Container Apps. В рабочем процессе все встроенные операции выполняются локально с средой выполнения, чтобы получить более высокую пропускную способность для доступа к локальным источникам данных. Если вам нужен доступ к не локальным ресурсам данных, например облачным службам, таким как Microsoft Office 365, Microsoft Teams, Salesforce, GitHub, LinkedIn или ServiceNow, можно выбрать операции из 1000+ соединителей, размещенных в Azure , чтобы включить в рабочие процессы. Дополнительные сведения см. в разделе "Управляемые (общие) соединители". Хотя вам необходимо иметь подключение к Интернету для управления приложением логики в портале Azure, частично подключенный характер этой платформы позволяет смягчать влияние временных проблем с подключением к Интернету.
Например, если у вас есть локальный сценарий, в следующем обзоре архитектуры показано, где размещаются рабочие процессы логического приложения стандарта и выполняются в гибридной модели. Среда с частичным подключением включает следующие ресурсы для размещения и работы со стандартными приложениями логики, развертываемыми как ресурсы приложений в Azure Container Apps.
Для размещения можно также настроить и использовать кластеры Kubernetes с поддержкой Azure Arc на Azure Local или кластеры Kubernetes с поддержкой Azure Arc на Windows Server.
Дополнительные сведения см. в следующей документации:
В этом руководстве показано, как настроить необходимые локальные ресурсы в инфраструктуре, чтобы можно было создавать, развертывать и размещать рабочий процесс приложения логики уровня "Стандартный" с помощью гибридной модели развертывания.
В гибридном варианте используется модель выставления счетов, в которой вы оплачиваете только за то, что действительно нужно, и можете масштабировать ресурсы для динамических рабочих нагрузок без необходимости оплачивать использование на пиковом уровне. Вы несете ответственность за следующие элементы:
Ваша инфраструктура Kubernetes, поддерживаемая Azure Arc
Лицензия SQL Server
Плата за использование виртуального ЦП для поддержки стандартных рабочих нагрузок приложений логики
Дополнительные сведения см. в следующих разделах:
Плата за любые управляемые (общие) операции соединителя, такие как Microsoft Teams или Microsoft Office 365, в логических приложениях.
Эти операции соответствуют стандартным ценам.
Потребление виртуального ЦП вашим логическим приложением стандартного уровня влияет на ваши расходы. Виртуальный процессор vCPU относится к числу ядер ЦП, но это соотношение не обязательно является 1:1. Следующая формула вычисляет использование виртуального ЦП для приложения логики:
Использование виртуального ЦП = (# выделенных виртуальных ЦП) x (# реплик)
значение | Описание |
---|---|
# выделенных виртуальных ЦП | По умолчанию вашему приложению логики выделяется определенное количество виртуальных процессоров (vCPU). Вы можете изменить это выделение виртуального ЦП в любое время после создания ресурса приложения логики. Примечание: Все виртуальные ЦП, выделенные вашему приложению логики, приходят из виртуальных ЦП реплики, поэтому диапазон распределения составляет от 0,25 до 2 ядер. Дополнительные сведения см. в следующей строке. |
Количество реплик |
Реплика — это новый экземпляр редакции ресурса приложения логики или версии, которая развертывается при возникновении события триггера рабочего процесса. Это число реплик может отличаться из-за потребностей масштабирования вашего приложения в любое время. Можно установить минимальное и максимальное количество реплик для каждой версии или редакции, чтобы они соответствовали вашим потребностям масштабирования. Примечание. Каждая реплика ограничена двумя виртуальными ЦП. Выделяемые вашему логическому приложению виртуальные процессоры приходят из реплицированных vCPU, поэтому диапазон выделения составляет от 0,25 до 2 ядер. |
Следующая формула вычисляет вашу почасовую ставку, которая основана на использовании виртуального ЦП и составляет 0,18 долл. США в час при активном состоянии приложения логики.
Стоимость за час = (потребление vCPU) x (тариф за час)
Например, в следующей таблице показаны некоторые примеры расчетов платы за выставление счетов:
# выделенных виртуальных ЦП | Кол-во реплик | Использование виртуального ЦП | курс доллара США в час | Плата в час |
---|---|---|---|---|
1 | 1 | (1 x 1) = 1 | 0,18 долл. США | (1 x $0,18) = $0,18 |
0,5 | 2 | (0,5 x 2) = 1 | 0,18 долл. США | (1 x $0,18) = $0,18 |
0,5 | 1 | (0,5 x 1) = 0,5 | 0,18 долл. США | (0,5 x $ 0,18) = $0,09 |
Гибридное развертывание в настоящее время доступно и поддерживается только для следующих кластеров Kubernetes с поддержкой Azure Arc:
Учетная запись и подписка Azure. Если у вас нет ее, вы можете зарегистрироваться для получения бесплатной учетной записи Azure.
Базовое понимание основных концепций AKS
Технические требования к Azure Container Apps в Kubernetes с поддержкой Azure Arc, включая доступ к общедоступному или частному реестру контейнеров, например Реестр контейнеров Azure.
Прежде чем развернуть логическое приложение стандартного уровня как локальный ресурс (on-premises) в кластере Kubernetes с поддержкой Azure Arc в подключенной среде Azure Container Apps, сначала потребуется кластер Kubernetes. Позже вы подключите этот кластер к Azure Arc, чтобы иметь кластер Kubernetes с поддержкой Azure Arc.
Кластер Kubernetes требует входящего и исходящего подключения к базе данных SQL, которую вы создаете позже в качестве поставщика хранения, а также к файловой общей папке блока сообщений сервера, которую вы создаете позже для хранения артефактов. Эти ресурсы должны существовать в одной сети.
Примечание
Вы также можете создать кластер Kubernetes в локальном кластере Azure или Kubernetes в Windows Server и применить действия, описанные в этом руководстве, чтобы подключить кластер к Azure Arc и настроить подключенную среду. Дополнительные сведения о локальной среде Azure и AKS в Windows Server см. в следующих ресурсах:
Задайте следующие переменные среды для кластера Kubernetes, который требуется создать:
SUBSCRIPTION="<Azure-subscription-ID>"
AKS_CLUSTER_GROUP_NAME="<aks-cluster-resource-group-name>"
AKS_NAME="<aks-cluster-name>"
LOCATION="eastus"
Параметр | Обязательное поле | значение | Описание |
---|---|---|---|
ПОДПИСКА | Да | < Идентификатор подписки Azure> | Идентификатор подписки Azure |
AKS_CLUSTER_GROUP_NAME | Да | < aks-cluster-resource-group-name> | Имя группы ресурсов Azure, используемой в кластере Kubernetes. Это имя должно быть уникальным во всех регионах и может содержать только буквы, цифры, дефисы (-), символы подчеркивания (_), круглые скобки (()) и точки (.). В этом примере используется hybrid-RG. |
AKS_NAME | Да | < aks-cluster-name> | Имя кластера Kubernetes. |
МЕСТОПОЛОЖЕНИЕ | Да | < Azure-region> | Регион Azure, который поддерживает Azure Container Apps на Kubernetes с поддержкой Azure Arc. В этом примере используется eastus. |
Выполните следующие команды с помощью среды Bash в Azure Cloud Shell или локально с помощью Azure CLI, установленной на компьютере:
Примечание
Обязательно измените значения максимального количества и минимального количества узлов на основе требований к нагрузке.
az login
az account set --subscription $SUBSCRIPTION
az provider register --namespace Microsoft.KubernetesConfiguration --wait
az provider register --namespace Microsoft.Kubernetes --wait
az extension add --name k8s-extension --upgrade --yes
az group create \
--name $AKS_CLUSTER_GROUP_NAME \
--location $LOCATION
az aks create \
--resource-group $AKS_CLUSTER_GROUP_NAME \
--name $AKS_NAME \
--enable-aad \
--generate-ssh-keys \
--enable-cluster-autoscaler \
--max-count 6 \
--min-count 1
Параметр | Обязательное поле | значение | Описание |
---|---|---|---|
max count |
Нет | < max-nodes-value> | Максимальное количество узлов, используемых для автомасштабирования при включении enable-cluster-autoscaler параметра. Это значение варьируется от 1 до 1000. |
min count |
Нет | < min-nodes-value> | Минимальное количество узлов, используемых для автомасштабирования при включении enable-cluster-autoscaler параметра. Это значение варьируется от 1 до 1000. |
Дополнительные сведения см. на следующих ресурсах:
Чтобы создать кластер Kubernetes с поддержкой Azure Arc, подключите кластер Kubernetes к Azure Arc.
Примечание
Шаги, описанные в этом разделе и далее, вплоть до создания вашей подключенной среды, находятся в скрипте с именем EnvironmentSetup.ps1, который можно найти в репозитории GitHub с именем Azure/logicapps. Этот скрипт можно изменить и использовать для удовлетворения ваших требований и сценариев.
Скрипт не назначен, поэтому перед запуском скрипта выполните следующую команду Azure PowerShell от имени администратора, чтобы задать политику выполнения:
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
Дополнительные сведения см. в разделе Set-ExecutionPolicy.
Установите следующие расширения Azure CLI:
az extension add --name connectedk8s --upgrade --yes
az extension add --name k8s-extension --upgrade --yes
az extension add --name customlocation --upgrade --yes
az extension add --name containerapp --upgrade --yes
Дополнительные сведения см. на следующих ресурсах:
Зарегистрируйте следующие обязательные пространства имен:
az provider register --namespace Microsoft.ExtendedLocation --wait
az provider register --namespace Microsoft.Kubernetes --wait
az provider register --namespace Microsoft.KubernetesConfiguration --wait
az provider register --namespace Microsoft.App --wait
az provider register --namespace Microsoft.OperationalInsights --wait
Дополнительные сведения см. на следующих ресурсах:
Установите интерфейс командной строки Kubernetes с именем kubectl:
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
choco install kubernetes-cli -y
Дополнительные сведения см. на следующих ресурсах:
Проверьте подключение к кластеру, получив файл kubeconfig:
az aks get-credentials \
--resource-group $AKS_CLUSTER_GROUP_NAME \
--name $AKS_NAME \
--admin
kubectl get ns
По умолчанию файл kubeconfig сохраняется в пути ~/.kube/config. Эта команда применяется к нашему примеру кластера Kubernetes и отличается для других типов кластеров Kubernetes.
Дополнительные сведения см. на следующих ресурсах:
Установите диспетчер пакетов Kubernetes с именем Helm:
choco install kubernetes-helm
Дополнительные сведения см. на следующих ресурсах:
Установите драйвер SMB с помощью следующих команд Helm:
Добавьте указанный репозиторий диаграмм, получите последнюю информацию для доступных диаграмм и установите указанный архив диаграммы.
helm repo add csi-driver-smb https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts
helm repo update
helm install csi-driver-smb csi-driver-smb/csi-driver-smb --namespace kube-system --version v1.15.0
Дополнительные сведения см. на следующих ресурсах:
Убедитесь, что драйвер SMB установлен, выполнив следующую команду kubectl , которая должна содержать список smb.csi.k8s.io:
kubectl get csidriver
Дополнительные сведения см. в kubectl get.
На основе развертывания кластера Kubernetes задайте следующую переменную среды, чтобы указать имя для группы ресурсов Azure, содержащей кластер и ресурсы с поддержкой Azure Arc:
GROUP_NAME="<Azure-Arc-cluster-resource-group-name>"
Параметр | Обязательное поле | значение | Описание |
---|---|---|---|
GROUP_NAME | Да | < Azure-Arc-cluster-resource-group-name> | Имя группы ресурсов Azure для использования с кластером Azure Arc и другими ресурсами, такими как расширение Azure Container Apps, кастомное местоположение и подключенная среда Azure Container Apps. Это имя должно быть уникальным во всех регионах и может содержать только буквы, цифры, дефисы (-), символы подчеркивания (_), круглые скобки (()) и точки (.). В этом примере используется Hybrid-Arc-RG. |
Создайте группу ресурсов Azure для кластера и ресурсов с поддержкой Azure Arc:
az group create \
--name $GROUP_NAME \
--location $LOCATION
Дополнительные сведения см. на следующих ресурсах:
Задайте следующую переменную среды, чтобы указать имя кластера Kubernetes с поддержкой Azure Arc:
CONNECTED_CLUSTER_NAME="$GROUP_NAME-cluster"
Параметр | Обязательное поле | значение | Описание |
---|---|---|---|
CONNECTED_CLUSTER_NAME | Да | < Azure-Arc-cluster-resource-group-name>-cluster | Имя, используемое для кластера с поддержкой Azure Arc. Это имя должно быть уникальным во всех регионах и может содержать только буквы, цифры, дефисы (-), символы подчеркивания (_), круглые скобки (()) и точки (.). В этом примере используется гибридный кластер Arc-RG-cluster. |
Подключите ранее созданный кластер Kubernetes к Azure Arc:
az connectedk8s connect \
--resource-group $GROUP_NAME \
--name $CONNECTED_CLUSTER_NAME
Дополнительные сведения см. на следующих ресурсах:
Проверьте подключение между Azure Arc и кластером Kubernetes:
az connectedk8s show \
--resource-group $GROUP_NAME \
--name $CONNECTED_CLUSTER_NAME
Если выходные данные показывают, что значение свойства provisioningState не задано как "Успешно", выполните команду снова через одну минуту.
Дополнительные сведения см. на следующих ресурсах:
Вы можете создать необязательную рабочую область Azure Log Analytics, которая предоставляет доступ к журналам для приложений, работающих в кластере Kubernetes с поддержкой Azure Arc.
Задайте следующую переменную среды, чтобы указать имя рабочей области Log Analytics:
WORKSPACE_NAME="$GROUP_NAME-workspace"
Параметр | Обязательное поле | значение | Описание |
---|---|---|---|
WORKSPACE_NAME | Да | < Azure-Arc-cluster-resource-group-name>-рабочая область | Имя, используемое для рабочей области Log Analytics. Это имя должно быть уникальным в вашей группе ресурсов. В этом примере используется рабочая область Hybrid-Arc-RG-workspace. |
Создайте рабочую область Log Analytics:
az monitor log-analytics workspace create \
--resource-group $GROUP_NAME \
--workspace-name $WORKSPACE_NAME
Дополнительные сведения см. на следующих ресурсах:
Получите идентификатор в кодировке Base64 и общий ключ для рабочей области Log Analytics. Эти значения потребуются для последующего шага.
LOG_ANALYTICS_WORKSPACE_ID=$(az monitor log-analytics workspace show \
--resource-group $GROUP_NAME \
--workspace-name $WORKSPACE_NAME \
--query customerId \
--output tsv)
LOG_ANALYTICS_WORKSPACE_ID_ENC=[Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($LOG_ANALYTICS_WORKSPACE_ID))
LOG_ANALYTICS_KEY=$(az monitor log-analytics workspace get-shared-keys \
--resource-group $GROUP_NAME \
--workspace-name $WORKSPACE_NAME \
--query primarySharedKey \
--output tsv)
LOG_ANALYTICS_KEY_ENC=[Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($LOG_ANALYTICS_KEY))
Параметр | Обязательное поле | значение | Описание |
---|---|---|---|
LOG_ANALYTICS_WORKSPACE_ID | Да | Идентификатор рабочей области Log Analytics. | |
LOG_ANALYTICS_WORKSPACE_ID_ENC | Да | Идентификатор в кодировке Base64 для рабочей области Log Analytics. | |
LOG_ANALYTICS_KEY | Да | Общий ключ для рабочей области Log Analytics. | |
LOG_ANALYTICS_ENC | Да | Общий ключ в кодировке Base64 для рабочей области Log Analytics. |
Дополнительные сведения см. на следующих ресурсах:
Теперь создайте и установите расширение Azure Container Apps с кластером Kubernetes с поддержкой Azure Arc в качестве локального ресурса.
Важно!
Если вы хотите развернуть в AKS в Локальной среде Azure, перед созданием и установкой расширения приложений контейнеров Azure убедитесь, что вы настроили HAProxy или настраиваемую подсистему балансировки нагрузки.
Задайте следующие переменные среды следующим значениям:
EXTENSION_NAME="logicapps-aca-extension"
NAMESPACE="logicapps-aca-ns"
CONNECTED_ENVIRONMENT_NAME="<connected-environment-name>"
Параметр | Обязательное поле | значение | Описание |
---|---|---|---|
EXTENSION_NAME | Да | logicapps-aca-extension | Название расширения для Azure Container Apps. |
ПРОСТРАНСТВО ИМЕН | Да | logicapps-aca-ns | Пространство имен кластера, в котором вы хотите развернуть ресурсы. |
ИМЯ_ПОДКЛЮЧЕННОЙ_СРЕДЫ | Да | < имя подключенной среды> | Уникальное имя для использования в среде подключенных контейнерных приложений Azure. Это имя становится частью доменного имени для логического приложения уровня Standard, которое вы создаете, развертываете и размещаете в среде Azure Container Apps. |
Создайте и установите расширение с поддержкой Log Analytics для кластера Kubernetes с поддержкой Azure Arc. Позже вы не можете добавить Log Analytics в расширение.
az k8s-extension create \
--resource-group $GROUP_NAME \
--name $EXTENSION_NAME \
--cluster-type connectedClusters \
--cluster-name $CONNECTED_CLUSTER_NAME \
--extension-type 'Microsoft.App.Environment' \
--release-train stable \
--auto-upgrade-minor-version true \
--scope cluster \
--release-namespace $NAMESPACE \
--configuration-settings "Microsoft.CustomLocation.ServiceAccount=default" \
--configuration-settings "appsNamespace=${NAMESPACE}" \
--configuration-settings "keda.enabled=true" \
--configuration-settings "keda.logicAppsScaler.enabled=true" \
--configuration-settings "keda.logicAppsScaler.replicaCount=1" \
--configuration-settings "containerAppController.api.functionsServerEnabled=true" \
--configuration-settings "envoy.externalServiceAzureILB=false" \
--configuration-settings "functionsProxyApiConfig.enabled=true" \
--configuration-settings "clusterName=${CONNECTED_ENVIRONMENT_NAME}" \
--configuration-settings "envoy.annotations.service.beta.kubernetes.io/azure-load-balancer-resource-group=${GROUP_NAME}" \
--configuration-settings "logProcessor.appLogs.destination=log-analytics" \
--configuration-protected-settings "logProcessor.appLogs.logAnalyticsConfig.customerId=${LOG_ANALYTICS_WORKSPACE_ID_ENC}" \
--configuration-protected-settings "logProcessor.appLogs.logAnalyticsConfig.sharedKey=${LOG_ANALYTICS_KEY_ENC}"
Параметр | Обязательное поле | Описание |
---|---|---|
Microsoft.CustomLocation.ServiceAccount | Да | Учетная запись службы, созданная для пользовательского расположения. Рекомендация. Задайте значение по умолчанию. |
appsNamespace | Да | Пространство имен, используемое для создания определений и редакций приложений. Это значение должно соответствовать пространству имен репозитория для расширения Azure Container Apps. |
clusterName | Да | Название среды Kubernetes, создаваемой для расширения Azure Container Apps. |
keda.enabled | Да | Включите автомасштабирование на основе событий Kubernetes (KEDA). Это значение является обязательным и должно иметь значение true. |
keda.logicAppsScaler.enabled | Да | Включите масштабировщик Azure Logic Apps в KEDA. Это значение является обязательным и должно иметь значение true. |
keda.logicAppsScaler.replicaCount | Да | Начальное число масштабировщиков приложений логики для запуска. Значение по умолчанию, равное 1. Это значение увеличивается или уменьшается до 0, если в среде не существует логических приложений. |
containerAppController.api.functionsServerEnabled | Да | Включите службу, отвечающую за преобразование триггеров рабочего процесса приложения логики в масштабируемые объекты KEDA. Это значение является обязательным и должно иметь значение true. |
envoy.externalServiceAzureILB | Да | Определяет, действует ли посланник как внутренняя подсистема балансировки нагрузки или общедоступная подсистема балансировки нагрузки. - true: агент выступает в роли внутреннего балансировщика нагрузки. Среда выполнения Azure Logic Apps доступна только в частной сети. - false: Envoy выступает в качестве общедоступного балансировщика нагрузки. Среда выполнения Azure Logic Apps доступна через общедоступную сеть. |
functionsProxyApiConfig.enabled | Да | Включите прокси-сервис, который обеспечивает доступ API к исполнительной среде Azure Logic Apps из портала Azure. Это значение является обязательным и должно иметь значение true. |
envoy.annotations.service.beta.kubernetes.io/azure-load-balancer-resource-group | Да, но только если используется базовый кластер Azure Kubernetes Service. | Имя группы ресурсов, в которой существует кластер Kubernetes. |
logProcessor.appLogs.destination | Нет | Место назначения для журналов приложений. Значение может быть log-analytics или none, что отключает ведение журнала. |
logProcessor.appLogs.logAnalyticsConfig.customerId | Да, но только если для logProcessor.appLogs.destination задано значение log-analytics. | Идентификатор в кодировке Base64 для рабочей области Log Analytics. Не забудьте настроить этот параметр в качестве защищенного параметра. |
logProcessor.appLogs.logAnalyticsConfig.sharedKey | Да, но только если для logProcessor.appLogs.destination задано значение log-analytics. | Общий ключ в кодировке Base64 для рабочей области Log Analytics. Не забудьте настроить этот параметр в качестве защищенного параметра. |
Дополнительные сведения см. на следующих ресурсах:
Сохраните значение идентификатора расширения "Приложения контейнеров Azure", чтобы использовать его позже:
EXTENSION_ID=$(az k8s-extension show \
--cluster-type connectedClusters \
--cluster-name $CONNECTED_CLUSTER_NAME \
--resource-group $GROUP_NAME \
--name $EXTENSION_NAME \
--query id \
--output tsv)
Параметр | Обязательное поле | значение | Описание |
---|---|---|---|
EXTENSION_ID | Да | < идентификатор расширения> | Идентификатор расширения для Azure Container Apps. |
Дополнительные сведения см. на следующих ресурсах:
Прежде чем продолжить, дождитесь полной установки расширения. Чтобы сеанс терминала ждал завершения установки, выполните следующую команду:
az resource wait \
--ids $EXTENSION_ID \
--custom "properties.provisioningState!='Pending'" \
--api-version "2020-07-01-preview"
Дополнительные сведения см. на следующих ресурсах:
Задайте для указанных значений следующие переменные среды:
CUSTOM_LOCATION_NAME="my-custom-location"
CONNECTED_CLUSTER_ID=$(az connectedk8s show \
--resource-group $GROUP_NAME \
--name $CONNECTED_CLUSTER_NAME \
--query id \
--output tsv)
Параметр | Обязательное поле | значение | Описание |
---|---|---|---|
CUSTOM_LOCATION_NAME | Да | my-custom-location | Название, которое нужно использовать для пользовательского расположения. |
CONNECTED_CLUSTER_ID | Да | < Azure-Arc-cluster-ID> | Идентификатор кластера Kubernetes с поддержкой Azure Arc. |
Дополнительные сведения см. на следующих ресурсах:
Создайте пользовательское местоположение:
az customlocation create \
--resource-group $GROUP_NAME \
--name $CUSTOM_LOCATION_NAME \
--host-resource-id $CONNECTED_CLUSTER_ID \
--namespace $NAMESPACE \
--cluster-extension-ids $EXTENSION_ID \
--location $LOCATION
Примечание
При возникновении проблем с созданием настраиваемого расположения в кластере может потребоваться включить функцию пользовательского расположения в кластере. Этот шаг необходим, если вы вошли в Azure CLI с помощью субъекта-службы или если вы вошли в систему в качестве пользователя Microsoft Entra с ограниченными разрешениями на ресурс кластера.
Дополнительные сведения см. на следующих ресурсах:
Проверьте, что пользовательское расположение успешно создано:
az customlocation show \
--resource-group $GROUP_NAME \
--name $CUSTOM_LOCATION_NAME
Если выходные данные показывают, что значение свойства provisioningState не задано как "Успешно", выполните команду снова через одну минуту.
Сохраните идентификатор пользовательского расположения для использования на следующем шаге:
CUSTOM_LOCATION_ID=$(az customlocation show \
--resource-group $GROUP_NAME \
--name $CUSTOM_LOCATION_NAME \
--query id \
--output tsv)
Параметр | Обязательное поле | значение | Описание |
---|---|---|---|
CUSTOM_LOCATION_ID | Да | < my-custom-location-ID> | Идентификатор пользовательской локации. |
Дополнительные сведения см. на следующих ресурсах:
Теперь создайте подключенную среду приложения Azure Container Apps для вашего логического приложения стандарта.
az containerapp connected-env create \
--resource-group $GROUP_NAME \
--name $CONNECTED_ENVIRONMENT_NAME \
--custom-location $CUSTOM_LOCATION_ID \
--location $LOCATION
Дополнительные сведения см. на следующих ресурсах:
Если кластер Azure Kubernetes размещен в локальной среде Azure, необходимо вручную обновить конфигурацию CoreDNS для кластера. На этом шаге добавляется новая карта конфигурации в пространство имен Azure Kubernetes. В сравнении Azure Logic Apps автоматически завершает этот шаг, когда кластер Kubernetes размещается в Azure. Однако для кластера, размещенного в другом месте, необходимо выполнить этот шаг вручную.
Дополнительные сведения см. в следующей документации:
Чтобы обновить конфигурацию CoreDNS, выполните следующую команду Azure CLI, используя параметры сценария:
az containerapp arc setup-core-dns
Параметры | Обязательное поле | Описание |
---|---|---|
--distro |
Да | Поддерживаемый дистрибутив, используемый для обновления конфигурации CoreDNS. Допустимые значения: AksAzureLocal |
--kube-config |
Нет | Путь к файлу kubeconfig, который содержит параметры конфигурации для доступа к кластерам Kubernetes. |
--kube-context |
Нет | Контекст kubeconfig из локального хоста для вашего кластера. В Kubernetes контекст определяет, как взаимодействовать с кластером Kubernetes. |
skip-ssl-verification |
Нет | Пропустить проверку SSL для любого подключения к кластеру. |
--yes -y |
Нет | Не запрашивайте подтверждение. |
Дополнительные сведения, такие как глобальные параметры, см. в статье az containerapp arc setup-core-dns.
Настройте конфигурацию CoreDNS для локальной среды Azure:
az containerapp arc setup-core-dns --distro AksAzureLocal
Настройте конфигурацию CoreDNS для azure Local с помощью файла конфигурации Kubernetes и контекста Kubernetes:
az containerapp arc setup-core-dns --distro AksAzureLocal --kube-config <kubeconfig-file-path> --kube-context <kubeconfig-context-name>
Рабочие процессы приложения логики в модели гибридного развертывания используют базу данных SQL в качестве поставщика хранилища для данных, используемых рабочими процессами и средой выполнения Azure Logic Apps, например журнал выполнения рабочих процессов, входные данные, выходные данные и т. д.
Для базы данных SQL требуется входящее и исходящее подключение к кластеру Kubernetes, поэтому эти ресурсы должны существовать в той же сети.
Настройте любой из следующих выпусков SQL Server:
Дополнительные сведения см. в разделе "Настройка хранилища базы данных SQL для рабочих процессов логического приложения уровня Стандартный".
Убедитесь, что база данных SQL находится в той же сети, что и кластер Kubernetes с поддержкой Arc и общий файловый ресурс SMB.
Найдите и сохраните строку подключения для базы данных SQL, которую вы создали.
Для хранения артефактов, таких как карты, схемы и сборки для ресурса приложения логики (приложения-контейнера), вам потребуется общий файловый ресурс, использующий протокол SMB.
Вам нужен доступ администратора для настройки общей папки SMB.
Папка файлового обмена SMB должна находиться в той же сети, что и кластер Kubernetes и база данных SQL.
Для общей папки SMB требуется входящее и исходящее подключение к кластеру Kubernetes. Если вы включили ограничения виртуальной сети Azure, убедитесь, что общая папка существует в той же виртуальной сети, что и кластер Kubernetes или в одноранговой виртуальной сети.
Не используйте одинаковый путь к общей папке для нескольких приложений логики.
Вы можете использовать отдельные SMB-файловые общие ресурсы для каждого приложения логики или использовать разные папки в одном и том же SMB-файловом общем ресурсе при условии, что эти папки не вложенные. Например, не используйте корневой путь для одного приложения логики, а для другого — вложенную папку.
Чтобы развернуть приложение логики с помощью Visual Studio Code, убедитесь, что локальный компьютер с Visual Studio Code может получить доступ к общей папке.
Убедитесь, что общая папка SMB существует в той же виртуальной сети, что и кластер, где вы монтируете общую папку.
В Windows перейдите в папку, которую хотите предоставить общий доступ, откройте контекстное меню и выберите "Свойства".
На вкладке "Общий доступ" выберите "Общий доступ".
В открывшемся поле выберите человека, которому требуется доступ к общей папке.
Выберите «Общий доступ» и скопируйте ссылку на сетевой путь.
Если локальный компьютер не подключен к домену, замените имя компьютера в сетевом пути IP-адресом.
Сохраните IP-адрес для последующего использования в качестве имени узла.
Кроме того, в целях тестирования можно использовать Файлы Azure в качестве общей папки SMB. Убедитесь, что общая папка SMB существует в той же виртуальной сети, что и кластер, где вы монтируете общую папку.
На портале Azure создайте учетную запись хранилища Azure.
В меню учетной записи хранения в разделе хранилища данных выберите общие папки.
На панели инструментов страницы файловых ресурсов выберите + Файловый ресурс и укажите необходимые сведения для вашего файлового ресурса SMB.
После завершения развертывания выберите Перейти к ресурсу.
В меню управления файлами выберите Обзор, если это не выбрано.
На панели инструментов "Обзор" выберите "Подключиться". На панели "Подключиться" выберите "Показать сценарий".
Скопируйте следующие значения и сохраните их в безопасном месте для последующего использования:
localhost\
На панели инструментов "Обзор" выберите +Добавить каталог и укажите имя, используемое для каталога. Сохраните это имя для последующего использования.
Эти сохраненные значения необходимы для предоставления сведений о общей папке SMB при развертывании ресурса приложения логики.
Для получения дополнительной информации см. раздел "Создание файловой общей папки SMB в Azure".
Чтобы проверить подключение между кластером 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 и проверьте, существуют ли файлы артефактов в правильной папке, указанной во время развертывания.
События
Присоединение к вызову ИИ Навыков
8 апр., 15 - 28 мая, 07
Отточите свои навыки ИИ и введите подметки, чтобы выиграть бесплатный экзамен сертификации
Зарегистрируйтесь!