- 博客(29)
- 收藏
- 关注

原创 如何在K8S中创建一个自定义Controller?
目的CRD资源定义代码生成Controller编写目的Custom Resource是扩展Kubernetes的一种方式(另外一种就是通过聚合层API apiserver-aggrega...
2020-05-18 22:13:00
1209
2

原创 分析kubernetes中的事件机制
我们通过 kubectl describe [资源] 命令,可以在看到Event输出,并且经常依赖event进行问题定位,从event中可以分析整个POD的运行轨迹,为服务的客观测性提供数据来源,由此可见,event在Kubernetes中起着举足轻重的作用。event并不只是kubelet中都有的,关于event的操作被封装在client-go/tools/record包,我们完全可以在写入...
2020-03-05 11:13:53
936
原创 mcp-k8s更新:Helm资源管理从未如此简单
作为mcp-k8s的最新版本,v1.0.4引入了完整的Helm支持,让你可以通过自然语言与大模型交互来管理Helm资源,无需记忆复杂的命令或手动编写YAML文件。借助大模型的自然语言理解能力,你可以使用简单的描述性语言完成复杂的Helm操作,减少了记忆命令和编写YAML文件的负担。本文将介绍mcp-k8s v1.0.4版本中的Helm功能,帮助你快速掌握如何通过大模型高效管理Kubernetes集群中的Helm资源。这确保了在生产环境中的安全性,只有显式允许的操作才能执行。
2025-04-21 23:59:12
855
原创 如何使用Golang开发MCP服务器?MCP-K8S实践
使用Golang和mcp-go SDK开发MCP服务器是一个相对简单的过程。mcp-k8s项目展示了如何构建一个功能完整的MCP服务器,让LLM能够查询、创建、更新和删除Kubernetes资源,为集群管理提供了新的交互方式。mcp-go支持多种传输方式,最常用的是stdio(标准输入/输出)和SSE(Server-Sent Events)。是一个使用mcp-go开发的、用于与Kubernetes集群交互的MCP服务器。使用mcp-go,我们可以快速构建自己的MCP服务器,而无需关心底层协议细节。
2025-04-19 23:28:26
1057
原创 mcp-k8s支持了SSE远程访问的能力
在 mcp-k8s 中,SSE 模式允许您将服务部署在远程服务器上,并通过 HTTP 协议与 MCP 客户端进行通信。“,拉你进去,目的是为了方便大家交流AI相关的知识和共享资源,目前AI变化真的是太快了,比如google最新推出的Agent2Agent的模式的一些探索;,并且只能本地运行只支持mcp 的stdio模式,今天给它加上了sse的能力,使得远程部署更加方便,方便进行集成。或者大家对这个mcp-k8s有什么新的需求,也可以提,我们可以来一起共建 😄。• 增加sse模式,方便远程部署。
2025-04-12 09:04:20
274
原创 MCP-K8S:当AI成为我的Kubernetes小助手
虽然在tool定义中都有描述,但是对比了其他的一些模型和mcp server的交互,总是不尽人意,要不就是给的参数json格式错误,要不就是理解错了参数需要传入的信息。复杂的架构、繁多的概念、以及那些需要记忆的kubectl命令...,现在有了MCP可以让这种交互变得更加简单,尝试通过AI自然语言对话来完成对k8s集群各种资源的操作乃至于定于集群的问题。做这个项目的过程中,最大的感受就是:技术发展真的太快了,AI给我们带来了太多可能性。: 特别是Claude这样的模型,对上下文的理解真的很到位。
2025-04-04 09:02:41
497
原创 微软Playwright MCP: 大模型与浏览器交互的新方式
Playwright MCP 为大语言模型与浏览器的交互开辟了新的可能性,它通过结构化的方式让 AI 理解和操作网页,克服了基于视觉的方法的局限性。结合 LLM 的自然语言理解能力和 Playwright MCP 的浏览器自动化能力,可以创建更智能的自动化测试,测试脚本可以用自然语言描述,并由 LLM 转换为具体的浏览器操作。对于需要从网页提取结构化数据的场景,Playwright MCP 的快照模式可以提供比爬虫更智能的解决方案,因为 LLM 可以理解页面的语义结构。视觉模式使用截图进行视觉化交互。
2025-03-31 08:03:00
1445
原创 高德地图MCP:AI与地理服务的完美融合
高德地图MCP(Model Context Protocol)是基于开放标准构建的地图服务能力平台,通过标准化接口实现AI智能体与地理服务的深度融合。以下内容展示了MCP客户端的基础使用方法,您可以发挥创意将其集成到您的AI应用中,释放地图数据的无限价值。通过高德地图MCP,您可以轻松将地理信息服务能力注入到您的AI应用中,创造更加智能、便捷的用户体验!:一键获取POI的全面详细信息,包括名称、分类、评分、营业时间、联系方式等。:为小客车、轿车用户提供高效通勤方案,完美支持跨城市的长途驾驶场景。
2025-03-29 22:57:08
2420
原创 MCP初体验:通过AI对话查看自己电脑监控数据
MCP 主机(MCP Hosts):发起请求的 LLM 应用程序(例如 Claude Desktop、IDE 或 AI 工具)。远程资源(Remote Resources):MCP server 可以连接到的远程资源(例如通过 API)。MCP 服务器(MCP Servers):为 MCP client 提供上下文、工具和 prompt 信息。MCP 客户端(MCP Clients):在主机程序内部,与 MCP server 保持 1:1 的连接。LLM 决定是否需要使用工具以及使用哪些工具。
2025-03-19 23:26:28
413
转载 AI编程工具trae推出Windows版本
字节跳动推出的AI IDE,trae今天发布了Windows版本,同类型的还有cursor、windsurf、vscode copilot,下次可以出一次对比体验的用后感。什么是trae?以下是来自官网文档的介绍Trae(/treɪ/)与 AI 深度集成,提供智能问答、代码自动补全以及基于 Agent 的 AI 自动编程能力。使用 Trae 开发项目时,你可以与 AI 灵活协作,提升开发效率完备的...
2025-02-17 13:20:34
64
原创 免费AI智能处理图片小程序推荐
推荐个AI处理图片的小程序快速取图助手,集成多种图片风格转换、老照片修复、一键抠图等能力;截图部分页面作为参考:(照片风格转换)(老照片修复)(最终效果参考)...
2025-02-16 22:49:30
171
原创 xfsquota:一个便捷的管理xfs磁盘配额的命令行工具
源码地址:https://github.com/silenceper/xfsquota动机在Linux有一个xfs_quota(在xfsprogs工具包下)命令行工具,为什么还用golang实现了?最近要实现磁盘quota的控制,同时觉得看了docker内的源码,都是利用cgo的方式来实现的,如果直接用xfs_quota的方式查看配额,无法直观的看到某一个目录下的配额,只...
2022-04-23 23:14:36
720
原创 emptyDir 通过xfs_quota强制限制大小
emptyDir支持三种类型的,通过设置 medium 字段 :文件:默认情况Memory:占用内存资源HugePagessizeLimit默认行为同时支持通过sizeLimit设置限制...
2021-10-30 23:23:35
891
原创 Kubernetes CSI(二):如何编写一个CSI插件
这里以csi-driver-host-path作为例子,来看看是如何实现一个csi插件的?目标:支持PV动态创建,并且能够挂载在POD中volume来自本地目录,主要是模拟volume产...
2020-11-26 12:49:26
1149
原创 Kubernetes CSI(一):介绍
容器存储接口(CSI)是用于将任意块和文件存储系统暴露给诸如Kubernetes之类的容器编排系统(CO)上的容器化工作负载的标准。使用CSI的第三方存储提供商可以编写和部署在Kuber...
2020-11-22 12:10:29
7243
3
原创 源码分析:KEDA内部是如何工作的?
文章中源码是基于KEDA 2.0( 50bec80)来进行分析keda 2.0 安装要求k8s集群版本 >=1.16KEDA 在2020年11月4号release了2.0版本,包含...
2020-11-11 21:01:00
796
原创 使用keda完成基于事件的弹性伸缩
文章中使用的是keda 1.5版本,2.0目前是beta版本。1.5版本支持deployment,job两种资源。而在2.0增加了StatefulSet以及自定义资源keda 是一个支持...
2020-09-14 15:05:27
1302
1
原创 将镜像tar包通过API直接push到registry仓库
为了实现docker tar包能够直接通过页面上传,调研了一下registry的api,以及如何解析tar包(其实就是docker daemon程序实现的部分)。要想实现,首先要了解do...
2020-07-10 23:29:13
1940
4
原创 在x86_64机器上构建arm64镜像
有几种办法可以打包出arm64的镜像直接在arm机器上执行编译和打包通过qemu模拟arm环境利用docker提供的buildx(需要启用试验性特性)我没有arm的机器~,所以我主要试了...
2020-06-05 21:42:08
4752
1
原创 用vim保存文件和echo命令到底有什么不同?
现象最近在调试一个filebeat程序时需要制造一些log,我是直接使用vim直接对文件打开然后直接保存的。但是有个奇怪的现象:每次写入一行新的日志,filebeat都会将整个文件的内容...
2020-05-13 23:56:06
894
原创 postgres入门
最近需要将mysql数据库切换到pg数据库,所以对pg进行基本学习了下,总体感觉相差不大,在一些细节以及需要上可能需要注意。安装我这里是以docker的方式来进行安装的。这种安装方式只能...
2020-05-05 15:05:49
197
原创 记一次问题排查:为什么在POD无法通过Service访问自己?
问题现象创建一个nginx pod,并配置了service访问,service后端指向pod。进入pod中使用service ip 或者service 域名,无法访问。一开始以为是环境配...
2020-04-30 19:00:00
2324
原创 推荐一个Go包:singleflight使用以及原理
singleflight 包主要是用来做并发控制,整个包的核心代码不到100行,充分利用到了map和WaitGroup的特性。常见的场景比如防止 缓存击穿 ,我们可以...
2020-03-08 19:50:50
3144
1
原创 利用Kubernetes中的leaderelection实现组件高可用
在Kubernetes中,通常kube-schduler和kube-controller-manager都是多副本进行部署的来保证高可用,而真正在工作的实例其实只有一个。这里就利用到 leaderelection的选主机制,保证leader是处于工作状态,并且在leader挂掉之后,从其他节点选取新的leader保证组件正常工作。不单单只是k8s中的这两个组件用到,在其他服务中也可以看到这个包...
2020-02-16 20:35:39
1052
原创 利用Kubernetes中的leaderelection实现组件高可用
在Kubernetes中,通常kube-schduler和kube-controller-manager都是多副本进行部署的来保证高可用,而真正在工作的实例其实只有一个。这里就利用到 leaderelection的选主机制,保证leader是处于工作状态,并且在leader挂掉之后,从其他节点选取新的leader保证组件正常工作。不单单只是k8s中的这两个组件用到,在其他服务中也可以看到这个包...
2020-02-15 22:06:22
943
原创 Go的http包中默认路由匹配规则
一、执行流程首先我们构建一个简单http server:package mainimport ( "log" "net/http")func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { w.Write([]byte("hello wor...
2020-01-22 11:07:18
2714
原创 介绍一款Go项目热编译工具-gowatch
使用场景在golang项目编写过程中,需要对项目不断的进行构建go build并调试以快速发现问题,而我们每次进行手动的进行go build又太重复,所以写了这么一个工具gowatch来实时的监听文件的改动并编译。快速入门安装使用go get github.com/silenceper/gowatch安装完成之后,在main包目录下执行gowatch命令:高级用法支持的命令行参...
2020-01-13 12:36:07
693
原创 介绍一款Go项目热编译工具-gowatch
使用场景在golang项目编写过程中,需要对项目不断的进行构建go build并调试以快速发现问题,而我们每次进行手动的进行go build又太重复,所以写了这么一个工具gowatch来实时的监听文件的改动并编译。快速入门安装使用go get github.com/silenceper/gowatch安装完成之后,在main包目录下执行gowatch命令:高级用法支持的命令行参...
2020-01-13 12:32:18
697
原创 如何在Go项目中输出版本信息?
我们经常在使用CLI工具的时候,都会有这样的参数输出:➜ ~ docker versionClient: Docker Engine - Community Version: 18.09.2 API version: 1.39 Go version: go1.10.8 Git commit: 6247962 Built: ...
2020-01-09 21:33:49
1361
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人