使用适用于 Azure Kubernetes 服务 (AKS) 的 Dapr 扩展部署和运行工作流 |
您所在的位置:网站首页 › workflowcn › 使用适用于 Azure Kubernetes 服务 (AKS) 的 Dapr 扩展部署和运行工作流 |
你当前正在访问 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 |