在工作流中发送 HTTP 请求

Chaos Mesh Workflow 提供了 Task 节点以支持任意工作负载,其功能类似于 Kubernetes 中的 Job。 为了提供更好的产品体验,Chaos Dashboard 提供了一个基于 Task 的模板。通过此模板,你可以方便地在 WebUI 中创建 HTTP 请求。本文介绍如何通过 Chaos Dashboard 创建 HTTP 请求。

在工作流中发送 HTTP 请求 - 图1注意

Chaos Mesh 中不存在属于 HTTPRequest 类型的工作流节点。本特性基于 Task 节点,用于更方便地发送 HTTP 请求。

在工作流中发送 HTTP 请求 - 图2注意

当前该功能为实验特性,不建议在生产环境中使用,其配置与行为可能会在未来的版本中发生变化。

通过 Chaos Dashboard 创建 HTTP 请求

你可以通过以下步骤在 Chaos Dashboard 中创建 HTTP 请求,具体操作以通过 Slack Webhook 发送消息为例。

第 1 步:创建类型为 HTTP 请求的工作流节点

任务类型选为”HTTP 请求” :

create-http-request-workflow-node

第 2 步:配置 HTTP 请求

完成对以下配置的设置:

  • 节点名称:send-slack-message
  • 请求地址:https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
  • 请求方法:POST
  • 请求体: {"text": "Hello, world."},并勾选 “为 JSON 内容”

configure-http-request-workflow-node

第 3 步:提交工作流节点

点击“提交”按钮,即可在预览窗口查看创建的任务。

http-request-task-node-preview

表单字段

参数类型说明默认值是否必填示例
名称string节点名称send-slack-message
URLstring请求地址https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
方法string请求方法POST
请求体string请求体{“text”: “Hello, world.”}
跟随 301/302 跳转boolean该参数的值对应 curl-L 参数falsefalse
为 JSON 内容boolean该参数会将Content-Type: application/json 添加至 HTTP 请求头falsefalse

生成的任务节点的 name 字段的值会把 http-request 后缀加到”名称”的后面。