用途
该技能面向在 DAP 工作区中进行本地工作流平台开发的场景,服务于前端、后端和基础设施团队。它主要用于在本地容器运行失败或需要调试运行时行为时,提供对本地 Kubernetes(Kind)集群、Tilt 服务以及相关基础设施的访问与操作支持。
主要能力
- 访问 Kubernetes(Kind)集群,查看 Pod 状态、描述 Pod、查看日志。
- 通过 Tilt 触发组件重建或重启,查看组件日志。
- 提供本地部署的工作流服务作为共享依赖,包括:workflow-catalog、workflow-executions-api、workflow-engine-worker、workflow-consumer、workflow-validator、workflows-worker、standalone-tasks-worker。
- 提供常用操作的实用脚本:检查 Pod 状态、重启服务、跟踪服务日志、查询数据库。
- 支持排查 Temporal 工作流(通过 Temporal UI)和 Pulsar 消息。
- 在 Kubernetes MCP 服务器启用时,可使用 MCP 工具替代 shell 命令,直接与集群交互。
使用方式
关键命令
| 任务 | 命令 |
|---|---|
| 检查 Pod | kubectl get pods --context kind-kind |
| 重启组件 | tilt trigger workflow-<service> |
| 查看组件日志 | tilt logs workflow-<service> |
实用脚本
检查 Pod 状态:
bash .cursor/skills/workflow-local-dev/scripts/check-pods.sh
重启服务:
bash .cursor/skills/workflow-local-dev/scripts/restart-service.sh <service-name>
# 示例:bash .cursor/skills/workflow-local-dev/scripts/restart-service.sh catalog
跟踪服务日志:
bash .cursor/skills/workflow-local-dev/scripts/tail-logs.sh <service-name>
# 示例:bash .cursor/skills/workflow-local-dev/scripts/tail-logs.sh executions-api
查询数据库:
bash .cursor/skills/workflow-local-dev/scripts/db-query.sh "<SQL query>"
# 示例:bash .cursor/skills/workflow-local-dev/scripts/db-query.sh "SELECT * FROM workflow_engine.workflows ORDER BY created_at DESC LIMIT 5"
开发工作流
当本地容器失败或需要调试运行时行为时,主要使用以下流程:
- 捕获当前状态:
kubectl get pods --context kind-kind - 重建/重启组件:
tilt trigger workflow-<service> - 查看日志或健康状态:
kubectl logs -f <pod> --context kind-kind - 检查配置或数据(如需要):
bash .cursor/skills/workflow-local-dev/scripts/db-query.sh "<SQL query>"
故障排查
Pod 问题:
kubectl get pods --context kind-kind
kubectl describe pod <pod-name> --context kind-kind
kubectl logs -f <pod-name> --context kind-kind
Temporal 工作流:
打开 http://localhost:8081(Temporal UI),按工作流 ID 搜索。
数据库状态:
# 使用 db-query 脚本(在 postgres pod 内运行 psql)
bash .cursor/skills/workflow-local-dev/scripts/db-query.sh "SELECT * FROM workflow_engine.workflows ORDER BY created_at DESC LIMIT 5"
Pulsar 消息:
pulsar-admin topics stats persistent://public/dap/<topic>
pulsar-client consume persistent://public/dap/<topic> -s test-sub -n 10
使用 Kubernetes MCP(在可用时)
如果 Kubernetes MCP 服务器已启用,可以使用 MCP 工具替代 shell 命令,获得更集成的体验。MCP 默认使用 kind-kind 上下文。
列出 Pod:
Tool: pods_list
Arguments: { "labelSelector": "app=workflow-catalog" }
或列出所有 Pod:
Tool: pods_list
Arguments: {}
获取 Pod 日志:
Tool: pods_log
Arguments: {
"name": "workflow-catalog-xxxxx",
"namespace": "default",
"tail": 100
}
获取之前容器的日志(崩溃后):
Tool: pods_log
Arguments: {
"name": "workflow-catalog-xxxxx",
"namespace": "default",
"previous": true
}
在 Pod 中执行命令(例如数据库查询):
Tool: pods_exec
Arguments: {
"name": "postgres-xxxxx",
"namespace": "default",
"command": ["psql", "-U", "postgres", "-d", "temporal", "-c", "SELECT * FROM workflow_engine.workflows ORDER BY created_at DESC LIMIT 5"]
}
删除 Pod(强制重启):
Tool: pods_delete
Arguments: {
"name": "workflow-catalog-xxxxx",
"namespace": "default"
}
获取 Pod 详情:
Tool: pods_get
Arguments: {
"name": "workflow-catalog-xxxxx",
"namespace": "default"
}
列出集群事件(故障排查):
Tool: events_list
Arguments: { "namespace": "default" }
注意:使用 MCP 工具时无需指定上下文,因为它默认使用 kind-kind。当希望智能体直接与集群交互而不启动 shell 进程时,MCP 方式很有用。
适用场景
- 在 DAP 工作区中进行本地工作流平台开发。
- 本地容器运行失败时进行调试。
- 需要检查 Pod 状态、重启服务、查看日志、查询数据库。
- 排查 Temporal 工作流或 Pulsar 消息问题。
- 希望通过 Kubernetes MCP 工具直接与集群交互。
限制
- 该技能主要面向 DAP 工作区环境,依赖本地 Kubernetes(Kind)集群和 Tilt 服务。
- 部分功能(如 Kubernetes MCP)仅在 MCP 服务器启用时可用。
- 关于完整服务 URL 和基础设施细节,请参阅 reference.md。
- 资料中未提供收费、价格、平台支持范围等信息。