
ST-K8s
  
查看并聊天您的Kubernetes集群和容器日志文件。
brew tap bhf/st-k8s
brew install st-k8s
st-k8s具有仪表板(以K9s为灵感的深色主题和键盘导航)、REST API、端口转发管理、资源监控和MCP服务器。由Copilot SDK、任何与OpenAI API兼容的提供商或本地WebLLM模型提供支持的浏览器内AI聊天(需要WebGPU支持)。
Chat Context in chat Chat history
用途 用于规划和跟踪。
键盘导航
仪表板支持K9s风格的键盘导航。按 : 要打开命令面板并使用命令或别名在资源之间导航,请执行以下操作:
:pods或:po:deployments或:deploy:services或:svc- …以及更多标准K8s快捷键。
日志查看器
查看、复制和下载流媒体日志。
端口转发
直接从仪表板或通过AI聊天管理Kubernetes端口转发会话。支持Pod和服务。
- 动态配置:指定目标端口和本地接口绑定。
- 服务映射:自动将服务目标解析为活动Pod。
- 代理控制:通过Copilot集成或MCP服务器使用自然语言启动或停止转发。
资源监控
使用交互式图表直接在仪表板中监控节点和Pod的CPU和内存使用情况。要求您的集群安装了度量服务器。
- 实时数据:从Kubernetes指标服务器获取实时指标。
- 节点度量:查看所有节点的集群资源利用率。
- Pod指标:检查任何命名空间中单个Pod的资源消耗情况。
- 可视化图表:基于Recharts的交互式可视化,便于进行性能分析。
硬件加速和WebGPU
ST-K8s支持使用WebLLM直接在浏览器中运行本地AI模型。这需要启用WebGPU和硬件加速。
谷歌Chrome/Chromium
- 确保您使用的是最新版本的Chrome。
- 启用WebGPU:粘贴
chrome://flags/#enable-unsafe-webgpu进入您的地址栏并将其设置为 启用. - 启用Vulkan(Linux/Windows):粘贴
chrome://flags/#enable-vulkan并将其设置为 启用. - 重新启动Chrome。
Mozilla Firefox
- 类型
about:config在地址栏中。 - 搜索
dom.webgpu.enabled并将其设置为 真. - 搜索
gfx.webgpu.force-enabled并将其设置为 真 如果WebGPU默认不工作。 - MacOS用户可能还需要确保
gfx.webrender.all是 真.
验证
您可以通过访问验证WebGPU支持 如果样本运行,ST-K8s将能够加载本地模型。
目录
- 键盘导航 - 日志查看器 - 端口转发 - 资源监控 - 硬件加速和WebGPU - 目录 - 如何跑步 - 使用Homebrew(macOS/Linux) - 源自源头 - 使用 st-k8s 命令行界面 - 运行测试 - 端到端测试 - API - 模型上下文协议(MCP)服务器 - 特性 - 运行MCP服务器 - 配置VSCode - LLM集成技术 - 高层架构 - 无障碍 - 安全
如何跑步
使用Homebrew(macOS/Linux)
安装和运行的最简单方法 st-k8s 通过Homebrew:
brew tap bhf/st-k8s
brew install st-k8s
st-k8s源自源头
要使用基于浏览器的聊天功能,请确保安装 副驾驶命令行界面.
git clone https://github.com/bhf/st-k8s
cd st-k8s
npm run build
npm run start使用 st-k8s 命令行界面
您可以将项目安装为全局CLI,以使用 st-k8s 命令。
# From the repo root — install globally (or publish and install from a registry)
npm install -g .
# During development, link the local package to make `st-k8s` available globally
npm link
# Then launch the app with the CLI (it will build if no build exists)
st-k8s笔记:
npm install -g .需要适当的权限(使用sudo在某些系统上)。npm link在本地迭代时很有用——从repo根运行一次。- 这
st-k8s命令将尝试使用Next.js独立服务器(如果存在)(来自next build),否则它将运行npm run start.
运行测试
此项目使用 维测试 用于测试。
# Run all tests
npm test
# Run tests in watch mode
npm test -- --watch
# Run tests with coverage
npm run test:coverage端到端测试
此项目使用 剧作家 用于端到端测试。
# Run E2E tests
npm run test:e2eAPI
Swagger规格可在 http://localhost:3000/openapi.json 启动服务器后或从公用文件夹。
模型上下文协议(MCP)服务器
该项目包括一个MCP服务器,该服务器通过stdio向LLM公开Kubernetes工具。以下是一些示例用法:
- Pod列表
- 根据容器的内存请求和限制对其进行排序
- 命名空间中最后一个事件的摘要
- 获取特定pod的最后100行日志
特性
将只读Kubernetes操作作为工具公开:
list_namespaceslist_podslist_deploymentslist_serviceslist_daemonsetslist_replicasetslist_statefulsetslist_ingresseslist_endpointslist_eventslist_pvcslist_nodeslist_configmapslist_jobslist_cronjobslist_serviceaccountslist_roleslist_rolebindingsget_pod_logslist_port_forwardsstart_port_forwardstop_port_forwardget_node_metricsget_pod_metrics
运行MCP服务器
在运行MCP服务器之前,请确保以您喜欢的方式对kubectl上下文进行身份验证。
您可以直接使用以下命令运行MCP服务器:
npm run mcp您还可以通过如下所示的配置从VSCode或任何兼容MCP的客户端运行它。
配置VSCode
将以下内容添加到您的 mcp.json
{
"servers": {
"k8s-tools": {
"command": "npm",
"args": ["run", "mcp"],
"cwd": "/absolute/path/to/st-k8s",
"disabled": false,
"autoApprove": []
}
}
}
确保更换 /absolute/path/to/st-k8s 使用您计算机上此存储库的实际路径。
LLM集成技术
该项目使用了几种基于LLM的技术来增强开发生命周期和用户体验。这些文物位于 .github 目录:
- 代理:特定领域的人物角色,体现了一致代码生成的专业知识。
- 说明:执行编码标准和架构模式的上下文指南。
- 项目概述 - Next.js+顺风标准
- 技能:允许模型执行复杂任务的可重用功能。
- Copilot SDK - 排除图生成器
- 提示:精心策划的提示模板,确保为特定任务提供高质量、可重复的输出。
高层架构
无障碍
我们致力于让所有用户都能访问仪表板。请参阅我们的 无障碍声明和指南 有关当前状态、发现和补救计划的详细信息。
安全
我们认真对待安全问题。请参阅我们的 安全审查 有关我们的安全态势、调查结果和建议的详细信息。
