Kubernetes MCP服务器(K8s MCP):如何使用?

news2025/7/19 10:41:53

#作者:曹付江

文章目录

  • 1、什么是 Kubernetes MCP 服务器?
    • 1.1、K8s MCP 服务器
  • 2、开始前的准备工作
    • 2.1. Kubernetes集群
    • 2.2. 安装并运行 kubectl
    • 2.3. Node.js 和 Bun
    • 2.4. (可选)Helm v3
  • 3、如何设置 K8s MCP 服务器
    • 3.1. 克隆存储库
    • 3.2. 使用 Bun 安装依赖项
    • 3.3. 运行 K8s MCP 服务器:
    • 3.4. 使用 MCP Inspector 进行本地测试:
  • 4、保持安全
  • 5、结论

管理 Kubernetes (K8s) 部署可能很困难。但有了人工智能,您就可以更轻松地处理容器,而不会失去控制或影响安全性。这就是 Kubernetes MCP服务器(K8s MCP)的用武之地。
在本文章中,将学习如何使用 K8s MCP 服务器–一个使用模型上下文协议(MCP)让人工智能与 Kubernetes 集群交互的工具。它能帮助你自动执行任务、获得洞察力,甚至使用人工智能助手来管理部署。让我们开始吧!
(专业提示:想要利用人工智能提高开发速度?也可以看看 Apidog MCP 服务器–它可以让 Cursor 等 AI 驱动的集成开发环境将您的 API 规范用作数据源。这意味着 Agentic AI 可以直接理解、浏览您的 API 并与之交互,从而使您的开发工作流程更快、更智能。)

1、什么是 Kubernetes MCP 服务器?

把 Kubernetes想象成云环境的操作系统,现在把K8s MCP服务器想象成一个翻译器,帮助人工智能安全地理解和管理系统。

1.1、K8s MCP 服务器

  1. 充当人工智能工具与 Kubernetes 之间的安全桥梁。
  2. 使用模型上下文协议(MCP)安全地公开 Kubernetes 操作。
  3. 让人工智能做以下事情:
  • 列出资源(pod、部署、服务等);
  • 检查资源详情
  • 执行命令(扩展、更新、重启等)。
    在这里插入图片描述
    最重要的是,它能确保这些操作得到授权并记录在案,从而保证集群安全。

2、开始前的准备工作

在设置 K8s MCP 服务器之前,请确保您具备以下条件:

2.1. Kubernetes集群

任何类型都可以–本地(如 Minikube 或 Rancher Desktop)或云端(AWS、GCP、Azure 等)。

2.2. 安装并运行 kubectl

  • 安装 kubectl 并确保其位于系统路径中。
  • 检查是否有有效的 kubeconfig 文件(通常位于 ~/.kube/config)。
  • 运行 kubectl get pods,确认它已正确连接到集群。

2.3. Node.js 和 Bun

本项目使用 Node.js 和 Bun 软件包管理器。安装这两个软件包。

在这里插入图片描述

2.4. (可选)Helm v3

如果您的项目使用 Helm,请安装 Helm v3。你可以从 Helm 的官方网站获取。

在这里插入图片描述

3、如何设置 K8s MCP 服务器

3.1. 克隆存储库

打开终端,运行以下命令

git clone [repository_url]
cd [project_directory]

这将从 GitHub 下载代码,并将你移入项目目录。

3.2. 使用 Bun 安装依赖项

本项目使用快速 JavaScript 运行时 Bun 作为软件包管理器。确保已安装 Bun,然后运行:
bun install
(该命令读取 package.json 文件并安装项目所需的所有依赖项。)

3.3. 运行 K8s MCP 服务器:

bun start
这将启动 K8s MCP 服务器。它会自动连接到你当前配置的 kubectl 上下文。确保与 K8s 集群的连接正常,否则服务器会出现连接问题。
重要注意事项: 由于服务器会自动连接到当前的 kubectl 上下文,因此如果项目中有 Helm 图表,请确保 Helm 已正确配置。

3.4. 使用 MCP Inspector 进行本地测试:

为了快速测试 k8 的 MCP服务器,建议使用模型上下文协议检查器(@modelcontextprotocol/inspector)进行本地测试。该工具可帮助您直观了解 MCP 服务器的功能并与之交互。
请按照终端中的屏幕指示在浏览器中访问检查器链接。这将允许您探索可用的 MCP 资源和测试命令。

在这里插入图片描述
1)用Claude Desktop测试 K8s MCP 服务器
要将 K8s MCP 与 Claude Desktop(或其他 AI 工具)集成,需要配置 Claude 以便与服务器通信。
找到 Claude Desktop 配置:在 Claude Desktop 的设置中找到 “laude_desktop_config.json ”文件(通常在开发人员或高级部分)。

2)添加 MCP 服务器配置
在 “laude_desktop_config.json ”文件的 mcp 服务器部分添加一个新条目:

{
  "name": "K8s MCP Server",
  "path": "/absolute/path/to/your/mcp-server-kubernetes/dist/index.js"
}

重要: 将“/path/to/your/mcp-server-kubernetes/dist/index.js ”替换为克隆版本库中 “dist/index.js ”文件的实际绝对路径。

3)使用 Claude Desktop 进行测试
重新启动Claude desktop。现在,你应该能通过 Claude 使用自然语言命令与 Kubernetes 集群交互了。首先让 Claude 列出你的 pod 或创建一个测试部署,看看与服务器的连接是否正常。如果这些都能正常工作,那么就可以放心地认为其他部分也能正常工作。

示例 1:"能否列出默认命名空间中的 pod?
在这里插入图片描述
Example 2: “Can you create and nginx pod in the default namespace and name it nginx-pod”
在这里插入图片描述
Example 3: “Can you delete the nginx pod”
在这里插入图片描述

4、保持安全

安全至关重要。在允许人工智能访问重要操作之前:

  • 检查权限: 了解您当前的 kubectl 上下文或服务账户能做什么。
  • 限制范围: 除非绝对必要,否则避免授予广泛的权限。
  • 监控操作: 使用日志和审计跟踪人工智能的操作。

5、结论

通过设置 K8s MCP 服务器,您已经向更智能、人工智能驱动的 Kubernetes 管理迈出了第一步。这为实现更多自动化、更好的洞察力和更轻松的控制打开了大门。但请始终牢记安全性。在将人工智能用于生产关键任务之前,请进行全面测试。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2379867.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

R²AIN SUITE 亮相第九届智能工厂高峰论坛

2025年5月16日,在圆满落幕的第九届智能工厂高峰论坛上,上海比孚信息科技有限公司携自主研发的 RAIN SUITE 企业AI应用中台解决方案亮相展会。本次论坛以"从互联工厂到智慧工厂"为主题,吸引了400余位行业专家、制造企业代表及产业链…

深入理解仿函数(Functors):从概念到实践

文章目录 1. 什么是仿函数?2. 仿函数与普通函数的区别3. 标准库中的仿函数4. 仿函数的优势4.1 状态保持4.2 可定制性4.3 性能优势 5. 现代C中的仿函数5.1 Lambda表达式5.2 通用仿函数 6. 仿函数的高级应用(使用C2020标准库及以上版本)6.1 函数…

InternLM 论文分类微调实践(XTuner 版)

1.环境安装 我创建开发机选择镜像为Cuda12.2-conda,选择GPU为100%A100的资源配置 Conda 管理环境 conda create -n xtuner_101 python3.10 -y conda activate xtuner_101 pip install torch2.4.0cu121 torchvision torchaudio --extra-index-url https://downloa…

PC:使用WinSCP密钥文件连接sftp服务器

1. 打开winscp工具,点击“标签页”->“新标签页” 2. 点击“高级"->“高级” 3. 点击"验证"->“选择密钥文件” 选择ppk文件,如果没有ppk文件选择pem文件,会自动生成ppk文件 点击确定 4. 输入要连接到的sftp服务器的…

1688正式出海,1688跨境寻源通接口接入,守卫的是国内工厂资源

在1688平台的跨境招商直播中,许多想要进入跨境市场的初学者商家纷纷提问:货通全球的入口在哪里?小白商家应该如何操作?商品为何上传失败? 从表面上看,这似乎是1688平台在拓展海外市场的一次积极“进攻”。…

力扣303 区域和检索 - 数组不可变

文章目录 题目介绍题解 题目介绍 题解 不用管第一个null,从第二个开始看就可以 法一:暴力解法 class NumArray {private int[] nums;public NumArray(int[] nums) {this.nums nums;}public int sumRange(int left, int right) {int res 0;for (int i…

Spring的后置处理器是干什么用的?扩展点又是什么?

Spring 的后置处理器和扩展点是其框架设计的核心机制,它们为开发者提供了灵活的扩展能力,允许在 Bean 的生命周期和容器初始化过程中注入自定义逻辑。 1. 后置处理器(Post Processors) 后置处理器是 Spring 中用于干预 Bean 生命…

[ linux-系统 ] 进程地址空间

验证地址空间 父子进程的变量值不同但是地址相同,说明该地址绝对不是物理地址 我们叫这种地址为虚拟地址/线性地址 分析与结论 上述实验表明,父子进程的变量地址相同但内容不同,说明地址为虚拟地址,且父子进程有各自独立的物理…

文件名是 ‪E:\20250512_191204.mp4, EV软件录屏,未保存直接关机损坏, 如何修复?

去github上下载untrunc 工具就能修复 https://github.com/anthwlock/untrunc/releases 如果访问不了 本机的 hosts文件设置 140.82.112.3 github.com 199.232.69.194 github.global.ssl.fastly.net 就能访问了 实在不行,从这里下载,传上去了 https://do…

Java常见API文档(下)

格式化的时间形式的常用模式对应关系如下: 空参构造创造simdateformate对象,默认格式 练习.按照指定格式展示 package kl002;import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date;public class Date3 {publi…

DRIVEGPT4: 通过大语言模型实现可解释的端到端自动驾驶

《DriveGPT4: Interpretable End-to-End Autonomous Driving via Large Language Model》 2024年10月发表,来自香港大学、浙江大学、华为和悉尼大学。 多模态大型语言模型(MLLM)已成为研究界关注的一个突出领域,因为它们擅长处理…

构建共有语料库 - Wiki 语料库

中文Wiki语料库主要指的是从中文Wikipedia(中文维基百科)提取的文本数据。维基百科是一个自由的、开放编辑的百科全书项目,覆盖了从科技、历史到文化、艺术等广泛的主题。 对于基于RAG的应用来说,把Wiki语料作为一个公有的语料库…

苍穹外卖项目中的 WebSocket 实战:实现来单与催单提醒功能

🚀 苍穹外卖项目中的 WebSocket 实战:实现来单与催单提醒功能 在现代 Web 应用中,实时通信成为提升用户体验的关键技术之一。WebSocket 作为一种在单个 TCP 连接上进行全双工通信的协议,被广泛应用于需要实时数据交换的场景&#…

Win10 安装单机版ES(elasticsearch),整合IK分词器和安装Kibana

一. 先查看本机windows是否安装了ES(elasticsearch),检查方法如下: 检查进程 按 Ctrl Shift Esc 组合键打开 “任务管理器”。在 “进程” 选项卡中,查看是否有 elasticsearch 相关进程。如果有,说明系统安装了 ES。 检查端口…

【Redis】List 列表

文章目录 初识列表常用命令lpushlpushxlrangerpushrpushxlpop & rpoplindexlinsertllen阻塞操作 —— blpop & brpop 内部编码应用场景 初识列表 列表类型,用于存储多个字符串。在操作和实现上,类似 C 的双端队列,支持随机访问(O(N)…

JUC入门(四)

ReadWriteLock 代码示例: package com.yw.rw;import java.util.HashMap; import java.util.Map; import java.util.concurrent.locks.ReentrantReadWriteLock;public class ReadWriteDemo {public static void main(String[] args) {MyCache myCache new MyCache…

【HarmonyOS 5】鸿蒙mPaaS详解

【HarmonyOS 5】鸿蒙mPaaS详解 一、mPaaS是什么? mPaaS 是 Mobile Platform as a Service 的缩写,即移动开发平台。 蚂蚁移动开发平台mPaaS ,融合了支付宝科技能力,可以为移动应用开发、测试、运营及运维提供云到端的一站式解决…

无法加载文件 E:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本

遇到“无法加载文件 E:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本”这类错误,通常是因为你的 PowerShell 执行策略设置为不允许运行脚本。在 Windows 系统中,默认情况下,出于安全考虑,PowerShell 可能会阻止运行未…

【C++模板与泛型编程】实例化

目录 一、模板实例化的基本概念 1.1 什么是模板实例化? 1.2 实例化的触发条件 1.3 实例化的类型 二、隐式实例化 2.1 隐式实例化的工作原理 2.2 类模板的隐式实例化 2.3 隐式实例化的局限性 三、显式实例化 3.1 显式实例化声明(extern templat…

什么是RDMA?

什么是RDMA? RDMA(RemoteDirect Memory Access)技术全称远程直接内存访问,就是为了解决网络传输中服务器端数据处理的延迟而产生的。它将数据直接从一台计算机的内存传输到另一台计算机,无需双方操作系统的介入。这允许高吞吐、低延迟的网络…