Homepage 如何用 Longhorn 组件展示集群存储用量
【免费下载链接】homepageA highly customizable homepage (or startpage / application dashboard) with Docker and service API integrations.项目地址: https://gitcode.com/GitHub_Trending/ho/homepage
如果你在 Kubernetes 集群上使用 Longhorn 存储驱动,可以在 Homepage 的首页顶部添加一个 Longhorn info widget,把各节点的存储用量直接显示在面板上。配置完成后,该组件会拉取 Longhorn 的存储指标并渲染成类似 Resource 组件 磁盘用量的展示形式,文档说明其数值与 Longhorn 自身 dashboard 上看到的非常接近(见 Longhorn 组件文档)。
适用前提:
- Homepage 已经安装并可访问,配置目录中有
settings.yaml与widgets.yaml(安装方式见 安装文档); - 集群中运行着 Longhorn 存储驱动,并且你能访问其 API 地址(组件从 Kubernetes 上的 Longhorn 存储驱动拉取指标)。
第一步:在 settings.yaml 中配置 Longhorn provider
Longhorn 的 URL 和凭据不写在组件里,而是存放在settings.yaml的providers段(providers用于定义共享的 API provider 选项与密钥,见 settings 文档)。在settings.yaml中加入:
providers: longhorn: url: https://longhorn.aesop.network username: "longhorn-username" # 可选 password: "very-secret-longhorn-password" # 可选以上是 组件文档 中的示例值,请把url替换为你自己的 Longhorn 服务地址。username和password是可选的:只有两者都提供时,Homepage 才会带着 Basic 认证请求 Longhorn API。
第二步:在 widgets.yaml 中添加 Longhorn info widget
Info widget 定义在widgets.yaml中,按文件里的顺序显示在首页顶部(见 info widgets 说明,格式可参考 widgets.yaml 骨架)。按 组件文档 的写法,在widgets.yaml的列表中追加:
- longhorn: # 显示展开视图 expanded: true # 显示一个代表聚合值的节点 total: true # 用节点名作为标签 labels: true # 显示各节点 nodes: true # 明确列出要显示的节点;nodes 为 true 时默认显示全部 include: - node1 - node2各选项的作用(与文档注释一致):
| 选项 | 作用 |
|---|---|
expanded | 显示展开视图 |
total | 显示一个代表聚合值(所有节点合计)的节点 |
labels | 显示节点名称作为标签 |
nodes | 显示各节点 |
include | 明确列出要显示的节点;未配置时,nodes: true会显示全部节点 |
上面的node1、node2是文档示例中的节点名,替换为你集群中实际的 Longhorn 节点 ID;不需要筛选节点时可以删掉include段。
验证展示结果
保存配置并访问 Homepage 首页,确认以下现象:
- Longhorn 组件出现在 info widgets 区域(位置由它在
widgets.yaml中的顺序决定),每个节点以磁盘用量形式呈现,与 Resource 组件的 disk 展示风格一致; - 节点卡片显示剩余可用容量;开启
expanded后还会显示总容量与用量百分比(节点渲染逻辑见 node.jsx); - 文档给出的核对基准是:组件显示的指标应当与 Longhorn dashboard 上看到的非常接近,直接对照两处数值即可判断配置是否生效。
如果组件未正常显示数据,可对照 API 处理代码 中的分支检查:settings.yaml缺少providers.longhorn.url时接口会返回 400 和Missing Longhorn URL错误;Longhorn API 返回 401 时日志会记录 Authorization failure,此时检查username/password是否正确(注意只有两者同时提供才会发送认证头);其他非 200 响应也会被记录在 Homepage 日志中。
限制
- 组件从 Kubernetes 上的 Longhorn 存储驱动拉取指标,不适用于非 Kubernetes 环境;
- 组件展示的是文档中定义的那几项聚合字段,具体展示形式以 组件文档 为准,未列出的指标不会显示。
【免费下载链接】homepageA highly customizable homepage (or startpage / application dashboard) with Docker and service API integrations.项目地址: https://gitcode.com/GitHub_Trending/ho/homepage
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考