Headlamp 2025 年度项目亮点
本公告是对最初在 Headlamp 博客上发布的帖子的回顾。
Headlamp 在 2025 年取得了长足的发展。该项目持续成长,覆盖了更多平台和团队; 通过插件机制支持了新的工作流和集成方式;同时也看到了来自更广泛社区的协作不断增强。
我们想借此机会分享一些最新进展,并重点介绍 Headlamp 在过去一年中的演进与变化。
更新
加入 Kubernetes SIG UI
今年标志着该项目的一个重要里程碑:Headlamp 现已成为 Kubernetes SIG UI 的正式组成部分。此举使路线图和设计讨论更贴近 Kubernetes 核心社区,并强化了 Headlamp 作为该项目现代化、可扩展 UI 的角色。
作为其中的一部分,我们还分享了更多关于让 Kubernetes 面向更广泛受众的内容, 包括在 Enlightening with Whitney Lee 上的亮相以及在 KCD New York 2025 上的演讲。
Linux Foundation 导师计划
今年,我们很高兴通过 Linux Foundation 的导师计划与多名学生合作,我们的学员已经在 Headlamp 上留下了明显的印记:
- Adwait Godbole 构建了 KEDA 插件, 在 Headlamp 中添加了用于查看和管理 KEDA 资源(如 ScaledObjects 和 ScaledJobs)的 UI。
- Dhairya Majmudar 为 Headlamp 设置了基于 OpenTelemetry 的可观测性堆栈, 连接指标、日志和追踪,使项目更易于监控和调试。
- Aishwarya Ghatole 领导了 Headlamp 插件的 UX 审计, 识别可用性问题,并提出设计改进和插件用户画像。
- Anirban Singha 开发了 Karpenter 插件, 为 Headlamp 提供了专注于 Karpenter 自动扩缩容资源和决策的视图。
- Aditya Chaudhary 改进了 Gateway API 支持, 你可以在资源映射上看到网络关系,以及对许多新的 Gateway API 资源的改进支持。
- Faakhir Zahid 完成了一种在集群中部署 Headlamp 时 轻松管理插件安装的方法。
- Saurav Upadhyay 致力于 Kubernetes API 调用的后端缓存, 减少 API 服务器负载并提高 Headlamp 的性能。
新变更
多集群视图
管理多个集群具有挑战性:团队经常在工具之间切换,在尝试查看哪些内容在哪里运行时失去上下文。 Headlamp 通过提供单一视图来并排比较集群来解决这个问题。这使得跨环境理解工作负载变得更容易, 并减少了查找资源所花费的时间。
View of multi-cluster workloads
项目
Kubernetes 应用通常跨越多个命名空间和资源类型,这使得故障排除感觉像是在拼拼图一样。 我们添加了项目(Projects),为你提供以应用为中心的视图,将相关资源分组到多个命名空间——甚至集群中。 这使你能够减少蔓延、更快地进行故障排除,并在无需深入研究 YAML 或集群范围列表的情况下进行协作。
View of the new Projects feature
变更:
- 新的"项目(Projects)"特性,用于将命名空间分组为以应用或团队为中心的项目
- 可扩展的项目详细信息视图,插件可以使用自己的标签页和操作进行自定义
导航和活动
Kubernetes 中的日常运维通常意味着在集群之间处理日志、终端、YAML 和仪表板。 我们重新设计了 Headlamp 的导航,将这些视为一流的"活动",你可以保持打开并随时返回, 而不是在点击离开后立即丢失的一次性视图。
View of the new task bar
变更:
- 新的任务栏/活动模型允许你将日志、exec 会话和详细信息固定为正在进行的活动
- 活动概览,带有"全部关闭"操作和集群信息
- 表格中的多选和全局过滤器
感谢 Jan Jansen 和 Aditya Chaudhary。
搜索和映射
当生产环境中出现问题时,前两个问题通常是"它在哪里?"和"它连接到什么?"我们升级了搜索和映射视图, 以便你可以更快地从高级症状定位到正确的对象集。
View of the new Advanced Search feature
变更:
- 高级搜索视图,支持对 Kubernetes 对象进行丰富的、基于表达式的查询
- 改进的全局搜索,理解标签和多个搜索项,甚至可以根据你找到的内容更新当前命名空间
- 网络部分中的 EndpointSlice 支持
- 更丰富的映射视图,现在包括自定义资源和 Gateway API 对象
感谢来自 Swisscom 的 Fabian、Alexander North 和 Victor Marcolino,以及 Aditya Chaudhary。
OIDC 和身份认证
我们在使 OIDC 设置更清晰、更具弹性方面做了实际工作,特别是对于集群内部署。
View of user information for OIDC clusters
变更:
- 在顶部栏中为 OIDC 认证用户显示用户信息
- PKCE 支持更安全的身份认证流程,以及强化的令牌刷新处理
- 使用
-oidc-use-access-token=true使用访问令牌的文档
- 改进了对 AKS 和 EKS 等公共 OIDC 客户端的支持
- 使用 OAuth2Proxy 在 AKS 上使用 Azure Entra-ID 设置 Headlamp 的新指南
感谢 David Dobmeier 和 Harsh Srivastava。
应用目录和 Helm
我们扩展了通过 Headlamp 部署和获取应用的方式,特别是支持原生 Helm 仓库。
变更:
- 功能更强大的 Helm chart,具有可选的后端 TLS 终止、PodDisruptionBudgets、自定义 Pod 标签等
- 改进了 Helm chart 中的格式并添加了缺失的访问令牌参数
- 新的集群内 Helm 支持,带有
--enable-helm标志和服务代理
感谢来自 Oracle 的 Vrushali Shah 和 Murali Annamneni, 以及 Pat Riehecky、Joshua Akers、 Rostislav Stříbrný、Rick L 和 Victor。
性能、可访问性和用户体验
最后,我们在你每天注意到但不总是成为头条的事情上花费了大量时间:启动时间、列表视图、日志查看器、可访问性以及小的网络 UX 细节。 持续的可访问性自我审计也帮助我们识别关键问题,并使 Headlamp 更易于每个人使用。
View of the Learn section in docs
变更:
- 显著的桌面改进,应用加载速度提高高达 60%,为贡献者提供更快的开发模式重载
- 大量表格和日志查看器改进:持久排序顺序、一致的行操作、复制名称按钮、更好的工具提示以及更宽松的日志输入
- 可访问性和本地化改进,包括修复与缩放相关的布局问题、更好的颜色对比度、改进的屏幕阅读器支持以及扩展的语言覆盖范围
- 对资源的更多控制,包括实时 Pod CPU/内存指标、更丰富的 Pod 详细信息以及 Secret 和 CRD 字段的内联编辑
- 刷新的文档和插件入门体验,包括"学习"部分和插件展示
- 更完整的 NetworkPolicy UI 和网络相关的改进
- 提供夜间构建版本用于早期测试
感谢 Jaehan Byun 和 Jan Jansen。
插件和可扩展性
现在发现插件更简单了——不再需要在 Artifact Hub 和各种 GitHub 仓库之间跳转。浏览我们专门的插件页面, 查看 Headlamp 认可的插件精选目录以及特色插件展示。
View of the Plugins showcase
Headlamp AI 助手
管理 Kubernetes 通常意味着记忆命令和处理各种工具。Headlamp 的新 AI 助手通过添加内置在 UI 中的自然语言界面改变了这一点。
现在,你可以问"我的应用是否健康?"或"显示此部署的日志",而不是输入 kubectl 或深入研究 YAML,并在上下文中获得答案,
加快故障排除速度并简化新用户的入门。在此了解更多信息。
新增插件
除了新的 AI 助手,我们一直在发展 Headlamp 的插件生态系统,以便你可以将更多工作流集成到单个 UI 中,包括 Minikube、Karpenter 等集成。
最新插件发布的亮点:
- Minikube 插件,提供本地存储的单节点 Minikube 集群
- Karpenter 插件,支持 Azure 节点自动预配(NAP)
- KEDA 插件,你可以在此 了解更多信息
- 社区维护的 Gatekeeper 和 KAITO 插件
感谢来自 Oracle 的 Vrushali Shah 和 Murali Annamneni, 以及 Anirban Singha、Adwait Godbole、 Sertaç Özercan、Ernest Wong 和 Chloe Lim。
其他插件更新
除了新增内容,我们还花时间改进了你们许多人已经在使用的插件,专注于更流畅的工作流和与核心 UI 的更好集成。
View of the Backstage plugin
变更:
- Flux 插件:更新以支持 Flux v2.7,支持更新的 CRD,导航修复使其在最近的集群上平稳运行
- 应用目录:现在除了 Artifact Hub 之外还支持 Helm 仓库,可以通过 /serviceproxy 在集群内运行,并显示当前和最新的应用版本
- 插件目录:改进了卡片布局和可访问性,以及依赖项和 Storybook 测试更新
- Backstage 插件:依赖项和构建更新,在此 了解更多信息
插件开发
我们专注于使构建、测试和发布 Headlamp 插件更快、更清晰,并辅以改进的文档和更轻量的工具。
View of the Plugin Development guide
变更:
- 添加了 i18n 支持文档,以便插件可以被翻译和本地化
- 添加了示例插件:ui-panels、 resource-charts、 custom-theme 和projects
- 改进了 Headlamp API 的类型检查,恢复了用于组件测试的 Storybook 支持,并减少了依赖项以加快安装速度并减少更新
- 记录了插件安装位置、插件设置中的 UI 标识符,以及区分已交付、UI 安装和开发模式插件的标签
安全升级
我们还在投资保持 Headlamp 的安全性——既通过加强身份认证的工作方式,也密切关注上游漏洞和工具的更新。
更新:
- 我们一直在跟进安全更新,定期更新依赖项并解决上游安全问题。
- 我们加强了 Helm chart 的默认安全上下文,并修复了破坏插件管理器的回归问题。
- 我们通过 PKCE 支持改进了 OIDC 安全性,帮助在集群中部署 Headlamp 时解除更安全和符合标准的 OIDC 设置的阻碍。
结论
感谢今年为 Headlamp 做出贡献的每个人——无论是通过合并请求、插件,还是简单地分享你如何使用该项目。 看到团队采用和扩展该项目的不同方式是我们继续前进的重要动力。如果你的组织使用 Headlamp, 请考虑将其添加到我们的采用者列表中。
如果你最近还没有尝试过 Headlamp,所有这些更新今天都可以使用。查看最新的 Headlamp 版本,探索新的视图、插件和文档, 并在 Slack 或 GitHub 上与我们分享你的反馈——你的反馈有助于塑造 Headlamp 的未来发展方向。