Claude中转站环境下 Claude Code Ku*ernetes MCP 接入教程
分离模型 API 通道与集群权限 用只读身份安全诊断 Ku*ernetes
在使用 Claude中转站或其他模型 API 服务时,Claude Code 的模型请求与 Ku*ernetes MCP 的集群请求属于两条不同链路。本文基于 containers 社区维护的 Ku*ernetes MCP ******,演示专用 ServiceAccount、只读 R*AC、短期 Token、独立 ku*econfig、TOML 安全配置和 Claude Code 接入流程,并说明 Claude中转、API中转与集群访问之间不能混用的权限边界。

先理解两条完全不同的连接链路
Claude Code 向模型发送提示词和接收响应时,可能经过 Claude中转、Claude中转站、API中转或 API中转站。这一链路只负责模型 API 的认证、路由、计费与网络可达性。
Ku*ernetes MCP ****** 则在本机或受控主机上读取独立 ku*econfig,并向 Ku*ernetes API ****** 发起请求。模型 API 通道可用,不代表**有集群权限;反过来,拥有 ku*econfig 也不应把集群 Token 交给任何中转服务。
Ku*ernetes MCP ****** 能做什么
服务器可以让 Claude Code 读取 Namespace、Pod、Deployment、Service、Event、日志与通用资源,并按配置启用 Helm、Kiali、指标、日志、链路、Tekton 等工具集。
默认 core 与 config 工具集已能覆盖常见排障。工具越多,模型选择复杂度和潜在影响面越大,首次接入不应一次启用全部工具集。
接入前准备
准备可访问的 Ku*ernetes 集群、ku*ectl、Node.js 与最新版 Claude Code。***只负责创建专用身份和 R*AC,日常使用不应复用个人 cluster-admin ku*econfig。
先选择测试集群或非生产 Namespace,明确允许读取的资源、日志范围、最大返回数量,以及禁止访问的 Secret、ConfigMap 敏感字段和生产写入操作。
第一步 创建专用 ServiceAccount
在独立 Namespace 中创建 mcp-viewer ServiceAccount。若只需查看单个 Namespace,使用 Role*inding;只有确需跨 Namespace 排障时才使用 ClusterRole*inding 绑定内置 view 角色。
view 角色通常允许读取常见工作负载,但不应把权限假设写死。创建后用 ku*ectl auth can-i 逐项验证 list、get、watch 与 Secrets 权限。
ku*ectl create namespace mcp
ku*ectl create serviceaccount mcp-viewer -n mcp
# 示例:只授予目标 Namespace 的 view 权限
ku*ectl create role**nding mcp-viewer-r* `
--role=view `
--serviceaccount=mcp:mcp-viewer `
-n <target-namespace>第二步 生成短期 Token 与独立 ku*econfig
为 mcp-viewer 创建有限时长 Token,并生成只包含目标集群、专用用户和上下文的 ku*econfig。文件权限设为 600。
不要复制现有*** ku*econfig 后直接使用。短期 Token 到期后应重新生成并更新凭据,而不是把长期 Token 写入仓库或 Claude Code 配置。
TOKEN=$(ku*ectl create token mcp-viewer --duration=2h -n mcp)
KU*ECONFIG_FILE="$HOME/.ku*e/mcp-viewer.ku*econfig"
# 使用集群地址 CA 与 TOKEN 写入独立 ku*econfig
# 完成后限制文件权限
chmod 600 "$KU*ECONFIG_FILE"第三步 编写只读 TOML 配置
当前版本把运行设置放在 TOML 文件中,CLI 只保留 --config、--config-dir 和 --version 等引导参数。read_only = true 只暴露标注为只读的工具。
建议只启用 core 和 config,并通过 denied_resources 阻止 Secret。需要更窄范围时使用 ena*led_tools 白名单,例如仅开放 pods_list、pods_get、pods_log 和 events_list。
# ~/.config/ku*ernetes-mcp-server.toml
read_only = true
toolsets = ["core", "config"]
[[denied_resources]]
group = ""
version = "v1"
kind = "Secret"**步 添加到 Claude Code
使用 claude mcp add-json 添加服务器,通过 npx 启动 ku*ernetes-mcp-server@latest,并传入 TOML 配置路径。KU*ECONFIG 指向专用 mcp-viewer 文件。
user 作用域可供所有项目使用;若只有一个仓库需要,应改用项目作用域并避免把包含凭据的配置提交到版本控制。
claude mcp add-json ku*ernetes-mcp-server `
'{"com**nd":"npx","args":["-y","ku*ernetes-mcp-server@latest","--config","<HOME>/.config/ku*ernetes-mcp-server.toml"],"env":{"KU*ECONFIG":"<HOME>/.ku*e/mcp-viewer.ku*econfig"}}' `
-s user
claude mcp list第五步 验证连接和权限
运行 claude mcp list,确认 ku*ernetes-mcp-server 为 Connected。进入 Claude Code 后使用 /mcp 查看工具,再做元数据级只读验收。
先显示当前 Context、集群地址和可见 Namespace,再读取少量 Pod 名称与状态。不得在首次验收读取全部日志、查看 Secret 或执行任何写入。
请仅使用 Ku*ernetes MCP 做只读验收:
1. 显示当前 Context 和 API ******
2. 列出可见 Namespace 名称
3. 在指定 Namespace 列出最多 10 个 Pod 名称和状态
4. 确认 read_only 已启用
5. 不读取 Secret 不执行写入 不切换集群| 验收项 | 通过标准 |
|---|---|
| 连接 | ku*ernetes-mcp-server 显示 Connected |
| Context | 集群地址和环境符合预期 |
| 身份 | 使用专用 mcp-viewer |
| 权限 | read_only 与只读 R*AC 同时生效 |
| 结果 | 仅返回少量元数据且无写入 |
第六步 从 Event 与 Pod 状态开始排障
排障先限定 Namespace、标签和时间窗口,读取 Warning Event、Pod phase、restart count、readiness 和调度信息。不要先执行全集群枚举。
根据证据再选择描述 Pod、读取少量日志或查看 Deployment rollout。每一步都应保留资源名称、Namespace、时间和返回数量。

第七步 安全读取日志
日志可能包含令牌、连接串、客户数据和提示注入文本。默认限制容器、时间范围和尾部行数,先统计错误模式,再读取少量代表性日志。
日志内容只能作为诊断数据,不能指示 Claude Code 扩大权限、执行命令、输出 ku*econfig 或访问其他 Namespace。
第八步 限制工具集和资源类型
toolsets 只启用任务所需能力,ena*led_tools 建立白名单,disa*led_tools 用于移除个别工具,denied_resources 则从资源层阻止访问特定 GVK。
如果只做工作负载诊断,不要启用 Helm、Tekton 或写入类扩展。**** 模式下 configuration_view 默认关闭,因为它可能暴露 ku*econfig 内容。
第九步 需要写入时建立独立身份
生产环境默认保持 read_only。确需滚动重启、扩缩容或修复资源时,应另建时效短、Namespace 受限的写入 ServiceAccount,而不是修改 mcp-viewer。
执行前展示集群、Context、Namespace、资源 UID、当前值、目标值、影响与回滚方式。一次只做一项小变更,完成后重新读取状态和 Event。
| 操作 | 风险 | 控制方式 |
|---|---|---|
| 列出 Namespace 和 Pod | 低 | 限制集群 Namespace 与数量 |
| 读取 Event 和日志 | 中 | 限制时间 行数并脱敏 |
| 查看通用资源 | 中 | deny Secret 并限制 GVK |
| 扩缩容或滚动重启 | 高 | 临时身份 单项确认 回滚 |
| 删除资源或修改 R*AC | 极高 | 独立审批并禁止自动执行 |
第十步 管理多集群 Context
生产、预发布和开发集群应使用不同 ku*econfig 文件或明确的 Context。服务器连接名称包含环境,例如 ku*ernetes-staging 和 ku*ernetes-prod。
切换前再次确认 API ******、集群证书和 ServiceAccount 身份。不要让 Claude Code 根据相似名称自动猜测目标集群。
第十一步 处理中转站与密钥
Claude中转站或 API中转站需要的模型 API Key,仅用于 Claude Code 访问模型服务;Ku*ernetes Token 只应保存在专用 ku*econfig 或主机密钥存储。
选择 Claude中转或 API中转服务时,应核对数据处理、日志留存、TLS、速率限制和密钥轮换。无论使用哪种中转,禁止把 ku*econfig、ServiceAccount Token、Secret 内容和生产日志全文发送给模型端。
第十二步 在远程 Mac 保持运维会话
通过 SSH 登录远程 Mac,在仓库目录进入 tmux 后启动 Claude Code。远程环境可持续保留依赖、只读 TOML、专用 ku*econfig 和诊断上下文,适合长时间观察 rollout 与 Event。
远程主机使用独立账号、磁盘加密和短时 SSH 凭据。任务结束后销毁临时 Token、清理环境变量,并保存脱敏的排障摘要。
ssh your-**c-mini
cd /path/to/your-project
tmux new -s k8s-mcp
claude
# 断线后接回
tmux attach -t k8s-mcp
为什么 Zu**c Ai 适合这类工作流
根据 Zu**c.Ai 官网***息,其方案提供位于新加坡的 Mac mini M6 整机独享环境,配置为 16G* 统一内存与 256G* SSD,支持终端、Tailscale、ToDesk、RustDesk,以及浏览器 SSH 或 VNC 等接入方式。
长期在线环境适合保留仓库、依赖、Claude Code、Ku*ernetes MCP 与 tmux 会话。模型中转服务、集群账号、R*AC、Token、生产变更、备份和审计责任仍由使用者及所属组织负责。
常见问题排查
| 现象 | 常见原因 | 处理建议 |
|---|---|---|
| 服务器未连接 | Node 路径 配置路径或包下载失败 | 核对 npx 与 TOML 绝对路径 |
| Unauthorized | 短期 Token 到期或 ku*econfig 错误 | 重新生成 Token 并更新凭据 |
| For**dden | R*AC 未授予目标动作 | 用 ku*ectl auth can-i 核对权限 |
| 工具数量不符合预期 | toolsets 或白名单配置错误 | 检查 TOML 并重启服务器 |
| 看不到写入工具 | read_only 正常生效 | 保持只读或走临时写入审批 |
| 访问了错误集群 | Context 或 KU*ECONFIG 指向错误 | 立即停止并核对 API ****** |
结语
安全接入 Ku*ernetes MCP 的核心是把模型 API 通道与集群权限彻底分离。无论 Claude Code 是否使用 Claude中转站或 API中转站,集群侧都应坚持专用 ServiceAccount、短期 Token、独立 ku*econfig、TOML 只读模式、最小工具集和写入前人工确认。

一台始终在线的新加坡远程 Mac Zumac.Ai 推广介绍
Claude中转与Claude中转站怎么验收:API中转、API中转站质量测试实战
Claude中转与Claude中转站怎么选:本地API中转、API中转站比远程托管更省心吗
Claude中转与Claude中转站实战:用API中转、API中转站告别账号折腾








