使用适用于 Azure Kubernetes 服务 (AKS) 的 Dapr 扩展部署和运行工作流

您所在的位置:网站首页 workflowcn 使用适用于 Azure Kubernetes 服务 (AKS) 的 Dapr 扩展部署和运行工作流

使用适用于 Azure Kubernetes 服务 (AKS) 的 Dapr 扩展部署和运行工作流

#使用适用于 Azure Kubernetes 服务 (AKS) 的 Dapr 扩展部署和运行工作流| 来源: 网络整理| 查看: 265

你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。

使用适用于 Azure Kubernetes 服务 (AKS) 的 Dapr 扩展部署和运行工作流 项目 04/14/2023

使用 Dapr 工作流,可以轻松地跨各种微服务协调消息传送、状态管理和故障处理逻辑。 Dapr 工作流可帮助你创建长时间运行、容错和有状态的应用程序。

在本指南中,你将使用提供的订单处理工作流示例来执行以下操作:

为此示例创建 Azure 容器注册表和 AKS 群集。 在 AKS 群集上安装 Dapr 扩展。 将示例应用程序部署到 AKS。 使用 HTTP API 调用启动和查询工作流实例。

工作流示例是一个 ASP.NET Core 项目,其中包含:

Program.cs 文件,该文件包含应用的设置,包括工作流和工作流活动的注册。 在 Workflows 目录中找到的工作流定义。 在 Activities 目录中找到的工作流活动定义。

注意

Dapr 工作流目前是一项 alpha 功能,也是可选择启用的自助功能。 Alpha Dapr API 和组件“按原样”和“可用”提供,并且随着它们走向稳定状态而不断发展。 客户支持不涵盖 Alpha API 和组件。

必备条件 具有所有者或管理员角色的 Azure 订阅。 最新版本的 Azure CLI 最新 Docker 最新 Helm 设置环境 克隆示例项目

克隆示例工作流应用程序。

git clone https://github.com/Azure/dapr-workflows-aks-sample.git

导航到示例的根目录。

cd dapr-workflows-aks-sample 创建 Kubernetes 群集

创建用于保存 AKS 群集的资源组。

az group create --name myResourceGroup --location eastus

创建 AKS 群集。

az aks create --resource-group myResourceGroup --name myAKSCluster --node-count 2 --generate-ssh-keys

确保 kubectl 已安装并指向 AKS 群集。 如果使用的是 Azure Cloud Shell,则 kubectl 已安装。

有关详细信息,请参阅部署 AKS 群集教程。

将应用程序部署到 AKS 在 AKS 群集上安装 Dapr

在 AKS 群集上安装 Dapr 扩展。 在开始之前,请确保已做好以下准备:

安装或更新了 k8s-extension。 注册了 Microsoft.KubernetesConfiguration 服务提供程序 az k8s-extension create --cluster-type managedClusters --cluster-name myAKSCluster --resource-group myResourceGroup --name dapr --extension-type Microsoft.Dapr

通过运行以下命令验证是否已安装 Dapr:

kubectl get pods -A 部署 Redis Actor 状态存储组件

导航到示例分支版本中的 Deploy 目录:

cd Deploy

部署 Redis 组件:

helm repo add bitnami https://charts.bitnami.com/bitnami helm install redis bitnami/redis kubectl apply -f redis.yaml 运行应用程序

部署 Redis 后,将应用程序部署到 AKS:

kubectl apply -f deployment.yaml

公开 Dapr 挎斗和示例应用:

kubectl apply -f service.yaml export APP_URL=$(kubectl get svc/workflows-sample -o jsonpath='{.status.loadBalancer.ingress[0].ip}') export DAPR_URL=$(kubectl get svc/workflows-sample-dapr -o jsonpath='{.status.loadBalancer.ingress[0].ip}')

验证是否已导出上述命令:

echo $APP_URL echo $DAPR_URL 启动工作流

完成应用程序和 Dapr 部署到 AKS 群集的操作后,你现在可以启动和查询工作流实例。 首先对示例应用进行 API 调用,以重新入库库存中的项:

curl -X GET $APP_URL/stock/restock

启动工作流:

curl -X POST $DAPR_URL/v1.0-alpha1/workflows/dapr/OrderProcessingWorkflow/1234/start \ -H "Content-Type: application/json" \ -d '{ "input" : {"Name": "Paperclips", "TotalCost": 99.95, "Quantity": 1}}'

预期输出:

{"instance_id":"1234"}

检查工作流状态:

curl -X GET $DAPR_URL/v1.0-alpha1/workflows/dapr/OrderProcessingWorkflow/1234

预期输出:

{ "WFInfo": { "instance_id":"1234" }, "start_time":"2023-03-03T19:19:16Z", "metadata": { "dapr.workflow.custom_status":"", "dapr.workflow.input":"{\"Name\":\"Paperclips\",\"Quantity\":1,\"TotalCost\":99.95}", "dapr.workflow.last_updated":"2023-03-03T19:19:33Z", "dapr.workflow.name":"OrderProcessingWorkflow", "dapr.workflow.output":"{\"Processed\":true}", "dapr.workflow.runtime_status":"COMPLETED" } }

请注意,工作流状态标记为已完成。

后续步骤

了解如何将配置设置添加到 AKS 群集上的 Dapr 扩展。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3