Skip to content

Releases: weibaohui/kom

v0.2.11

03 Apr 13:08
Compare
Choose a tag to compare

fix(metadata): 添加集群名称必填校验

当存在多个集群时,如果未传入集群名称,返回错误提示。这确保了在多集群环境下操作的正确性。
如果只有1个集群,那么可以忽略集群名称

v0.2.10

03 Apr 13:06
Compare
Choose a tag to compare

fix(metadata): 添加集群名称必填校验

当存在多个集群时,如果未传入集群名称,返回错误提示。这确保了在多集群环境下操作的正确性。
如果只有1个集群,那么可以忽略集群名称

v0.2.9

03 Apr 12:57
Compare
Choose a tag to compare

fix(metadata): 添加集群名称必填校验

当存在多个集群时,如果未传入集群名称,返回错误提示。这确保了在多集群环境下操作的正确性。
如果只有1个集群,那么可以忽略集群名称

v0.2.8

02 Apr 16:18
Compare
Choose a tag to compare

新增 角色信息

v0.2.7

02 Apr 15:34
Compare
Choose a tag to compare

MCP Server 架构升级,增加权限模式

v0.2.6

30 Mar 15:29
Compare
Choose a tag to compare

fix cb

v0.2.5

29 Mar 13:47
Compare
Choose a tag to compare

使用示例

0. 多集群 k8s MCP 支持

支持多个tools 支持。包括对任意资源的查询列表删除描述操作,以及POD日志读取操作。

1.集成到代码中

// 一行代码启动MCP Server
mcp.RunMCPServer("kom mcp server", "0.0.1", 9096)

2. 直接源码启动

# 源码启动
go run main.go 
# MCP Server 访问地址
http://IP:9096/sse

3. 编译后启动

# 编译
go build main.go
# 运行
./main 
# MCP Server 访问地址
http://IP:9096/sse

4. 集成到MCP工具中

适合MCP工具集成,如Cursor、Claude Desktop、Windsurf等,此外也可以使用这些软件的UI操作界面进行添加。

{
  "mcpServers": {
    "kom": {
      "type": "sse",
      "url": "http://IP:9096/sse"
    }
  }
}

MCP工具列表(49种)

类别 方法 描述
集群管理(1) list_clusters 列出所有已注册的Kubernetes集群
部署管理(12) scale_deployment 扩缩容Deployment
restart_deployment 重启Deployment
stop_deployment 停止Deployment
restore_deployment 恢复Deployment
update_tag_deployment 更新Deployment镜像标签
rollout_history_deployment 查询Deployment升级历史
rollout_undo_deployment 回滚Deployment
rollout_pause_deployment 暂停Deployment升级
rollout_resume_deployment 恢复Deployment升级
rollout_status_deployment 查询Deployment升级状态
hpa_list_deployment 查询Deployment的HPA列表
list_deployment_pods 获取Deployment管理的Pod列表
动态资源管理(含CRD,8) get_k8s_resource 获取k8s资源
describe_k8s_resource 描述k8s资源
delete_k8s_resource 删除k8s资源
list_k8s_resource 列表形式获取k8s资源
list_k8s_event 列表形式获取k8s事件
patch_k8s_resource 更新k8s资源,以JSON Patch方式更新
label_k8s_resource 为k8s资源添加或删除标签
annotate_k8s_resource 为k8s资源添加或删除注解
节点管理(8) taint_node 为节点添加污点
untaint_node 为节点移除污点
cordon_node 为节点设置Cordon
uncordon_node 为节点取消Cordon
drain_node 为节点执行Drain
get_node_resource_usage 查询节点的资源使用情况
get_node_ip_usage 查询节点上Pod IP资源使用情况
get_node_pod_count 查询节点上的Pod数量
Pod 管理(14) list_pod_files 列出Pod文件
list_all_pod_files 列出Pod所有文件
delete_pod_file 删除Pod文件
upload_file_to_pod 上传文件到Pod内,支持传递文本内容,存储为Pod内文件
get_pod_logs 获取Pod日志
run_command_in_pod 在Pod中执行命令
get_pod_linked_service 获取Pod关联的Service
get_pod_linked_ingress 获取Pod关联的Ingress
get_pod_linked_endpoints 获取Pod关联的Endpoints
get_pod_linked_pvc 获取Pod关联的PVC
get_pod_linked_pv 获取Pod关联的PV
get_pod_linked_env 通过在pod内运行env命令获取Pod运行时环境变量
get_pod_linked_env_from_yaml 通过Pod yaml定义获取Pod运行时环境变量
get_pod_resource_usage 获取Pod的资源使用情况,包括CPU和内存的请求值、限制值、可分配值和使用比例
YAML管理(2) apply_yaml 应用YAML资源
delete_yaml 删除YAML资源
存储管理(3) set_default_storageclass 设置默认StorageClass
get_storageclass_pvc_count 获取StorageClass下的PVC数量
get_storageclass_pv_count 获取StorageClass下的PV数量
Ingress管理(1) set_default_ingressclass 设置默认IngressClass

启动命令

mcp.RunMCPServer("kom mcp server", "0.0.1", 3619)

AI工具集成

Claude Desktop
  1. 打开Claude Desktop设置面板
  2. 在API配置区域添加MCP Server地址
  3. 启用SSE事件监听功能
  4. 验证连接状态
Cursor
  1. 进入Cursor设置界面
  2. 找到扩展服务配置选项
  3. 添加MCP Server的URL(例如:http://localhost:9096/sse)
Windsurf
  1. 访问配置中心
  2. 设置API服务器地址

v0.2.4

29 Mar 03:23
Compare
Choose a tag to compare

MCP工具列表(35种)

类别 方法 描述
集群管理 list_clusters 列出所有已注册的Kubernetes集群
部署管理 scale_deployment 扩缩容Deployment
restart_deployment 重启Deployment
stop_deployment 停止Deployment
restore_deployment 恢复Deployment
update_tag_deployment 更新Deployment镜像标签
rollout_history_deployment 查询Deployment升级历史
rollout_undo_deployment 回滚Deployment
rollout_pause_deployment 暂停Deployment升级
rollout_resume_deployment 恢复Deployment升级
rollout_status_deployment 查询Deployment升级状态
hpa_list_deployment 查询Deployment的HPA列表
动态资源管理 get_dynamic_resource 获取动态资源
get_dynamic_resource_describe 描述动态资源
delete_dynamic_resource 删除动态资源
list_dynamic_resource 列出动态资源
节点管理 taint_node 为节点添加污点
untaint_node 为节点移除污点
cordon_node 为节点设置Cordon
uncordon_node 为节点取消Cordon
drain_node 为节点执行Drain
node_resource_usage 查询节点资源使用情况
node_ip_usage 查询节点IP资源使用情况
node_pod_count 查询节点Pod数量
Pod 管理 list_pod_files 列出Pod文件
list_all_pod_files 列出Pod所有文件
delete_pod_file 删除Pod文件
get_pod_logs 获取Pod日志
get_pod_linked_service 获取Pod关联的Service
get_pod_linked_ingress 获取Pod关联的Ingress
get_pod_linked_endpoints 获取Pod关联的Endpoints
get_pod_linked_pvc 获取Pod关联的PVC
get_pod_linked_pv 获取Pod关联的PV
get_pod_linked_env 获取Pod运行时环境变量
get_pod_exec 在Pod中执行命令
YAML 管理 apply_dynamic_resource 应用YAML资源
delete_dynamic_resource 删除YAML资源

v0.2.3

28 Mar 16:41
Compare
Choose a tag to compare

扩展MCP工具方法
delete_k8s_resource
describe_k8s_resource
get_k8s_resource
get_pod_linked_endpoints
get_pod_linked_ingresses
get_pod_linked_pv
get_pod_linked_pvc
get_pod_linked_services
get_pod_logs
list_clusters
list_k8s_event
list_k8s_resource
pod_file_operations
restart_deployment
scale_deployment

v0.2.2

26 Mar 15:55
Compare
Choose a tag to compare

feat(cluster): 添加通过字符串注册集群的功能

新增 RegisterByStringRegisterByStringWithID 方法,允许通过 kubeconfig 文件的字符串内容注册集群,提高灵活性