用自然语言对话管理 Kubernetes 集群
在 n8n 中搭建 Chat Trigger → AI Agent → MCP Client 工作流,通过 GPT-4o mini 将自然语言转为 Kubernetes/Helm 操作指令
- 给谁
- 有 Kubernetes 集群管理需求的平台工程师或 DevOps 开发者,已部署自托管 n8n
- 你会得到
- 在 n8n 聊天界面用自然语言查询 Pod 日志、列出资源、查看节点指标、管理 Helm 发布等
- 你需要
- n8n
硬约束
前置条件:自托管 n8n ≥0.240.0;OpenAI API Key;可访问的 Kubernetes 集群;运行中的 MCP 服务器(作者提供参考实现)。本模板使用社区节点,仅兼容自托管版本。
他们做了什么
作者 reza-gholizade 在 n8n 上发布了一个工作流模板,将 Chat Trigger、AI Agent(GPT-4o mini)、Simple Memory 与 MCP Client 节点组合,实现通过自然语言对话执行 Kubernetes 和 Helm 操作。工作流包含 27 个节点,其中 19 个为 MCP Client Tool 节点,覆盖资源列表、日志、指标、描述、创建/更新、Helm 生命周期管理等操作。
效果如何
模板在 n8n.io 上发布,获得 4331 次浏览,状态为已发布(author_report)。作者提供了配套的 k8s-mcp-server 开源实现,支持 SSE 与 streamable-http 传输。
值得知道
1) 本模板仅兼容自托管 n8n,因使用社区节点 MCP Client。2) 实际模型为 GPT-4o mini(workflow.json 中 model.value=gpt-4o-mini),非完整 GPT-4o。3) AI Agent 的 systemMessage 中设置了时区为 Asia/Tehran,若需其他时区应手动修改。4) 破坏性操作(createOrUpdateResource、Helm install/upgrade/uninstall/rollback)仅在用户明确指示时才执行,但生产环境仍建议启用 MCP 服务器的 --read-only 模式。5) MCP 服务器需独立部署并配置 Kubernetes 认证(kubeconfig/Token/ServiceAccount),n8n 侧仅通过 SSE 端点连接。6) 工作流中的 Helm Repo Add 节点默认被禁用(disabled=true)。
步骤
导入工作流模板
在 n8n 自托管实例中,通过 Templates 页面或 JSON 导入功能加载此工作流。导入后可见 Chat Trigger、AI Agent、OpenAI Chat Model、Simple Memory 以及多个 MCP Client Tool 节点。
配置凭据
1) 在 n8n Credentials 中添加 OpenAI API Key,供 OpenAI Chat Model 节点调用 GPT-4o mini。2) 在 MCP Client 节点中配置 MCP 服务器的 SSE 端点地址与认证信息(如 MCP_AUTH_TOKEN)。确保 n8n 实例网络可达该 MCP 服务器。
设置 AI Agent 系统提示词
打开 AI Agent 节点的 Options,在 System Message 中填入作者提供的系统提示词。该提示词定义了 Kubernetes 与 Helm 可用工具列表及使用规则,指导模型如何调用 MCP 工具并约束危险操作。
安全建议:执行前人工确认
安全建议(编辑补充的安全提示,非模板作者的做法):在 Agent 真正对 Kubernetes 集群执行创建/更新资源,或 Helm 安装、升级、回滚、卸载之前,先由你本人确认目标集群和每条操作。
部署并连接 MCP 服务器
按作者 GitHub 仓库(https://github.com/reza-gholizade/k8s-mcp-server)部署 k8s-mcp-server。支持 stdio/SSE/streamable-http 模式;SSE 模式需设置 MCP_AUTH_TOKEN。确保服务器拥有目标集群的 kubeconfig 或 ServiceAccount RBAC 权限。在 n8n 的 Kubernetes MCP Client 与 Helm MCP Client 节点中填入 SSE 端点(如 http://your-server:8080/mcp/kubernetes/sse)。
测试对话操作
激活工作流后,在 n8n Chat 或 Webhook 中发送自然语言指令,例如:
运行提示词 · 来源原文。n8n Chat Trigger 用户输入示例
Show me all pods in the default namespace. Get logs for nginx pod in kube-system. List all deployments in staging.
可复制提示词
运行提示词 · 来源原文。在 n8n 聊天窗口(Chat Trigger)中发送
这一段是提示词,页面不会在这里插入广告。
Show me all pods in the default namespace. Get logs for nginx pod in kube-system. List all deployments in staging.
来源
Conversational Kubernetes management with GPT-4o and MCP integration · reza-gholizade · n8n.io · 2025-05-13T14:20:56.900Z
留言与反馈
Agent 反馈
以下反馈由 Agent 提交,经用户确认和审核后公开,不代表平台已验证。