作者:Joaquim Rocha, Ashu Ghildiyal
在 Kubernetes 的世界中,管理配置和部署可能会变得非常复杂。尽管像 Headlamp 这样的图形用户界面(GUI)旨在简化导航和管理,但对手动更改的依赖可能导致错误和不一致。这种做法通常被称为 ClickOps,缺乏必要的可追溯性,容易导致配置漂移,即系统的实际状态与预期状态不符。
为什么 GitOps 重要
与 ClickOps 大相径庭,GitOps 利用版本控制的力量,确保每次更改都有记录、审核,并且易于回退。通过将系统的期望状态存储在 Git 仓库中,GitOps 提供了一个真实的数据来源。这种方法不仅增强了安全性和可审计性,还简化了回滚和灾难恢复流程。
GitOps 改变了团队管理基础设施的方式,具体表现在:
确保一致性:每次更改都有记录,减少环境之间的差异风险。 促进协作:团队可以更有效地合作,所有修改都可见且可审核。 简化恢复:在发生问题时,恢复到先前状态非常简单,最小化停机时间。
Headlamp 的 Flux 插件:弥合差距
Flux[1] 是实现 GitOps 的强大工具之一。然而,它传统上缺乏用户友好的界面。Flux 的 GUI 的推出,结合了两者的优点:用户现在可以通过直观的界面查看和管理源自版本控制系统的操作。用户可以轻松执行暂停或强制同步资源等操作,所有操作均通过友好的 UI 进行。
Headlamp 已经提供了对各种 Kubernetes 资源的洞察,新推出的 Flux 插件进一步增强了这一体验,使 GitOps 对所有 Kubernetes 用户更加可及。
宣布 Headlamp 的新 Flux 插件!
我们很高兴地宣布,Flux 插件[2]现已推出!该插件会自动检测你当前查看的集群中是否安装了 Flux,并添加一个专门的“Flux”部分。在这里,你可以探索与 Flux 相关的各种组件,包括 Kustomizations、Image Automations、Helm Releases 及其各自的源。
该 UI 允许你快速执行常见操作,如同步资源或暂停资源。此外,它还显示 Flux 资源的当前状态,并根据配置的间隔计算下次协调何时发生。
如何安装 Flux 插件
桌面应用
如果你将 Headlamp 作为桌面应用(Windows、Mac 或 Linux)使用,请前往插件目录(在主页视图的侧边栏中可用),然后从列表中查找 Flux 插件,点击查看详情,然后单击安装按钮。插件安装后,使用通知刷新 UI,或通过应用菜单导航 > 重新加载。
Web 应用
如果你将 Headlamp 部署为 Web 应用(例如,在集群中运行),你需要为 headlamp-server 提供对插件文件夹(包括 Flux 插件)的访问权限。
你可以通过 CLI 选项完成此操作:
headlamp-server -plugins-dir PATH_TO_YOUR_DIR
如果你想将 Headlamp 部署为 Helm chart,可以使用初始化容器运行 Flux 插件,请查看 Flux 插件的 README 文件[3]中的说明。
你还可以参考这篇博客文章[4],了解如何在集群中运行带插件的 Headlamp。
如果你需要更多关于将 Headlamp 与 Flux 插件一起部署的帮助,请联系 Headlamp 团队,在 Slack 上与我们沟通。如遇到任何问题,请随时在 GitHub 上提交问题。
致谢与未来
我们衷心感谢 Alexis Richardson、Kingdon Barret、Stefan Prodan 以及其他 Flux 社区的贡献者,感谢他们在 Flux 插件实现过程中提供的宝贵反馈和支持。我们还感谢 Matthijs Galesloot 和 George Gaal 的深入见解。
我们相信,Headlamp 为任何与 Kubernetes 相关的 CNCF 工具的 UI 实现提供了良好的基础。像 Flux 插件这样的集成正体现了这一潜力。如果你在项目中看到类似集成的机会并需要帮助,请在 Slack[5] 上与我们联系。我们期待为各种 Kubernetes 工具构建一个强大的 UI 集合!
Flux: https://fluxcd.io/
[2]Flux 插件: https://github.com/headlamp-k8s/plugins/tree/main/flux#readme
[3]README 文件: https://github.com/headlamp-k8s/plugins/tree/main/flux#readme
[4]博客文章: https://headlamp.dev/blog/2022/10/20/best-practices-for-deploying-headlamp-with-plugins
[5]Slack: https://kubernetes.slack.com/messages/headlamp
点击【阅读原文】阅读网站原文。
CNCF概况(幻灯片)
扫描二维码联系我们!
CNCF (Cloud Native Computing Foundation)成立于2015年12月,隶属于Linux Foundation,是非营利性组织。
CNCF(云原生计算基金会)致力于培育和维护一个厂商中立的开源生态系统,来推广云原生技术。我们通过将最前沿的模式民主化,让这些创新为大众所用。请关注CNCF微信公众号。