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

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

原创 分析kubernetes中的事件机制
我们通过 kubectl describe [资源] 命令,可以在看到Event输出,并且经常依赖event进行问题定位,从event中可以分析整个POD的运行轨迹,为服务的客观测性提供数据来源,由此可见,event在Kubernetes中起着举足轻重的作用。event并不只是kubelet中都有的,关于event的操作被封装在client-go/tools/record包,我们完全可以在写入...
2020-03-05 11:13:53
929
原创 MCP-K8S:当AI成为我的Kubernetes小助手
虽然在tool定义中都有描述,但是对比了其他的一些模型和mcp server的交互,总是不尽人意,要不就是给的参数json格式错误,要不就是理解错了参数需要传入的信息。复杂的架构、繁多的概念、以及那些需要记忆的kubectl命令...,现在有了MCP可以让这种交互变得更加简单,尝试通过AI自然语言对话来完成对k8s集群各种资源的操作乃至于定于集群的问题。做这个项目的过程中,最大的感受就是:技术发展真的太快了,AI给我们带来了太多可能性。: 特别是Claude这样的模型,对上下文的理解真的很到位。
2025-04-04 09:02:41
353
原创 微软Playwright MCP: 大模型与浏览器交互的新方式
Playwright MCP 为大语言模型与浏览器的交互开辟了新的可能性,它通过结构化的方式让 AI 理解和操作网页,克服了基于视觉的方法的局限性。结合 LLM 的自然语言理解能力和 Playwright MCP 的浏览器自动化能力,可以创建更智能的自动化测试,测试脚本可以用自然语言描述,并由 LLM 转换为具体的浏览器操作。对于需要从网页提取结构化数据的场景,Playwright MCP 的快照模式可以提供比爬虫更智能的解决方案,因为 LLM 可以理解页面的语义结构。视觉模式使用截图进行视觉化交互。
2025-03-31 08:03:00
908
原创 高德地图MCP:AI与地理服务的完美融合
高德地图MCP(Model Context Protocol)是基于开放标准构建的地图服务能力平台,通过标准化接口实现AI智能体与地理服务的深度融合。以下内容展示了MCP客户端的基础使用方法,您可以发挥创意将其集成到您的AI应用中,释放地图数据的无限价值。通过高德地图MCP,您可以轻松将地理信息服务能力注入到您的AI应用中,创造更加智能、便捷的用户体验!:一键获取POI的全面详细信息,包括名称、分类、评分、营业时间、联系方式等。:为小客车、轿车用户提供高效通勤方案,完美支持跨城市的长途驾驶场景。
2025-03-29 22:57:08
734
原创 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
384
转载 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
61
原创 免费AI智能处理图片小程序推荐
推荐个AI处理图片的小程序快速取图助手,集成多种图片风格转换、老照片修复、一键抠图等能力;截图部分页面作为参考:(照片风格转换)(老照片修复)(最终效果参考)...
2025-02-16 22:49:30
162
原创 xfsquota:一个便捷的管理xfs磁盘配额的命令行工具
源码地址:https://github.com/silenceper/xfsquota动机在Linux有一个xfs_quota(在xfsprogs工具包下)命令行工具,为什么还用golang实现了?最近要实现磁盘quota的控制,同时觉得看了docker内的源码,都是利用cgo的方式来实现的,如果直接用xfs_quota的方式查看配额,无法直观的看到某一个目录下的配额,只...
2022-04-23 23:14:36
710
原创 emptyDir 通过xfs_quota强制限制大小
emptyDir支持三种类型的,通过设置 medium 字段 :文件:默认情况Memory:占用内存资源HugePagessizeLimit默认行为同时支持通过sizeLimit设置限制...
2021-10-30 23:23:35
879
原创 Kubernetes CSI(二):如何编写一个CSI插件
这里以csi-driver-host-path作为例子,来看看是如何实现一个csi插件的?目标:支持PV动态创建,并且能够挂载在POD中volume来自本地目录,主要是模拟volume产...
2020-11-26 12:49:26
1139
原创 Kubernetes CSI(一):介绍
容器存储接口(CSI)是用于将任意块和文件存储系统暴露给诸如Kubernetes之类的容器编排系统(CO)上的容器化工作负载的标准。使用CSI的第三方存储提供商可以编写和部署在Kuber...
2020-11-22 12:10:29
7233
3
原创 源码分析:KEDA内部是如何工作的?
文章中源码是基于KEDA 2.0( 50bec80)来进行分析keda 2.0 安装要求k8s集群版本 >=1.16KEDA 在2020年11月4号release了2.0版本,包含...
2020-11-11 21:01:00
783
原创 使用keda完成基于事件的弹性伸缩
文章中使用的是keda 1.5版本,2.0目前是beta版本。1.5版本支持deployment,job两种资源。而在2.0增加了StatefulSet以及自定义资源keda 是一个支持...
2020-09-14 15:05:27
1286
1
原创 将镜像tar包通过API直接push到registry仓库
为了实现docker tar包能够直接通过页面上传,调研了一下registry的api,以及如何解析tar包(其实就是docker daemon程序实现的部分)。要想实现,首先要了解do...
2020-07-10 23:29:13
1929
4
原创 在x86_64机器上构建arm64镜像
有几种办法可以打包出arm64的镜像直接在arm机器上执行编译和打包通过qemu模拟arm环境利用docker提供的buildx(需要启用试验性特性)我没有arm的机器~,所以我主要试了...
2020-06-05 21:42:08
4724
1
原创 用vim保存文件和echo命令到底有什么不同?
现象最近在调试一个filebeat程序时需要制造一些log,我是直接使用vim直接对文件打开然后直接保存的。但是有个奇怪的现象:每次写入一行新的日志,filebeat都会将整个文件的内容...
2020-05-13 23:56:06
886
原创 postgres入门
最近需要将mysql数据库切换到pg数据库,所以对pg进行基本学习了下,总体感觉相差不大,在一些细节以及需要上可能需要注意。安装我这里是以docker的方式来进行安装的。这种安装方式只能...
2020-05-05 15:05:49
192
原创 记一次问题排查:为什么在POD无法通过Service访问自己?
问题现象创建一个nginx pod,并配置了service访问,service后端指向pod。进入pod中使用service ip 或者service 域名,无法访问。一开始以为是环境配...
2020-04-30 19:00:00
2315
原创 推荐一个Go包:singleflight使用以及原理
singleflight 包主要是用来做并发控制,整个包的核心代码不到100行,充分利用到了map和WaitGroup的特性。常见的场景比如防止 缓存击穿 ,我们可以...
2020-03-08 19:50:50
3130
1
原创 利用Kubernetes中的leaderelection实现组件高可用
在Kubernetes中,通常kube-schduler和kube-controller-manager都是多副本进行部署的来保证高可用,而真正在工作的实例其实只有一个。这里就利用到 leaderelection的选主机制,保证leader是处于工作状态,并且在leader挂掉之后,从其他节点选取新的leader保证组件正常工作。不单单只是k8s中的这两个组件用到,在其他服务中也可以看到这个包...
2020-02-16 20:35:39
1049
原创 利用Kubernetes中的leaderelection实现组件高可用
在Kubernetes中,通常kube-schduler和kube-controller-manager都是多副本进行部署的来保证高可用,而真正在工作的实例其实只有一个。这里就利用到 leaderelection的选主机制,保证leader是处于工作状态,并且在leader挂掉之后,从其他节点选取新的leader保证组件正常工作。不单单只是k8s中的这两个组件用到,在其他服务中也可以看到这个包...
2020-02-15 22:06:22
933
原创 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
2704
原创 介绍一款Go项目热编译工具-gowatch
使用场景在golang项目编写过程中,需要对项目不断的进行构建go build并调试以快速发现问题,而我们每次进行手动的进行go build又太重复,所以写了这么一个工具gowatch来实时的监听文件的改动并编译。快速入门安装使用go get github.com/silenceper/gowatch安装完成之后,在main包目录下执行gowatch命令:高级用法支持的命令行参...
2020-01-13 12:36:07
688
原创 介绍一款Go项目热编译工具-gowatch
使用场景在golang项目编写过程中,需要对项目不断的进行构建go build并调试以快速发现问题,而我们每次进行手动的进行go build又太重复,所以写了这么一个工具gowatch来实时的监听文件的改动并编译。快速入门安装使用go get github.com/silenceper/gowatch安装完成之后,在main包目录下执行gowatch命令:高级用法支持的命令行参...
2020-01-13 12:32:18
688
原创 如何在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
1353
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人