🎀 五种工具让您的 K8s 体验更加愉快 🎀
对于初学者来说,K8s 代表 Kubernetes,数字 8 代表K和s 之间的八个字母。在当前的技术格局中,Kubernetes 几乎不可或缺,但由于其复杂性和陡峭的学习曲线,仍然不受欢迎。
基于终端的交互在这个故事中扮演着重要的角色。如果你有幸目睹一位经验丰富的 DevOps 人员如何操作 Kubernetes 集群,你可能会觉得他就像一位经验丰富的武术家在展示他的格斗技巧一样。这是因为通过终端完成的所有操作看起来总是更加令人畏惧,而且似乎需要多年的训练。🥋
现在的问题是:我们如何才能让如此复杂的问题(甚至连名字都美化了)变得更有趣?嗯,就像我们让一切变得更有趣一样→让它变得更简单、更漂亮!🎀 你可能会问,该怎么做呢?用图形用户界面(简称 GUI)吧!让我们来看看五种在处理 Kubernetes 时提供用户界面的工具。
向我们表达您的支持🙏🏻
在开始之前,我们想提一下,我们计划在 Product Hunt 上发布第一个版本!点击“通知我”按钮,当我们发布并准备好接收您的反馈时,您会收到通知 🔔
如果您为我们的存储库加注星标并帮助我们将我们的工具展示给其他开发人员,我们将非常感激⭐
Kubernetes 仪表板
让我们深入了解Kubernetes 管理的精髓工具——Kubernetes仪表板。它自动与您的集群捆绑在一起,提供 Kubernetes 环境的图形概览。您可以使用它来概览集群上运行的应用程序,将容器化应用程序部署到 Kubernetes 集群,以及管理集群资源。
Kubernetes 仪表板不仅提供概览,还能帮助排除故障。它能够洞悉 Kubernetes 资源的健康状况,并突出显示任何操作错误。
通过它,您也可以部署应用程序。您可以使用自己编写的清单或填写表单来完成。然而,值得注意的是,表单虽然用户友好,但除了基本示例之外,缺乏自定义的灵活性。
虽然 K8s 仪表盘功能齐全,但许多人认为它过于泛泛,缺乏深入的功能。这种局限性促使我们探索更多工具,每种工具都有其特定的用途,因此,我们开始探索已探索的工具列表。
K9犬
当您通过终端探索集群时, K9s:
是您最好的朋友(明白了吗?🐶)。它与 Vim 的交互风格相似,都使用快捷键和启动命令,但不要因此而却步。K9s 会密切关注 Kubernetes 的活动,提供实时信息和直观的资源交互命令。
它几乎可以取代标准kubectl
,并且不需要您在与 Kubernetes 交互时随身携带“备忘单”。您只需选择资源并深入到最低级别即可遍历它们。这可以轻松提取日志并访问其 shell。
K9s 让您能够查看每个资源的清单,并能够编辑和应用更改。正如我提到的,它几乎取代了kubectl
。其中一个区别是您无法通过 K9s 部署新资源。
K9s 具有过滤资源并使用/
命令搜索资源的功能,可以更轻松地在众多资源中找到所需的资源或过滤特定 pod 的日志。
一个不错的功能是屏幕顶部随时可用的命令和快捷方式列表,并且使用皮肤和插件进行自定义为您提供了额外实用程序的空间。
独眼巨人
如果您在处理清单文件时遇到困难,Cyclops就是您的理想工具!Cyclops 可以将清单文件转换为结构化的 Web 表单,消除处理清单时的混乱和复杂性,无需手动配置和命令行交互。
这使得具有不同技术水平的个人可以更轻松地完成部署过程。
在 Cyclops 的架构中,一个核心组件是Helm引擎。Helm 在 Kubernetes 社区中非常流行;您很可能已经接触过它。Helm 的流行得益于其直接集成的优势。
使用 Cyclops,您无需拘泥于千篇一律的方法。您可以根据自己的独特需求自定义表单。例如,团队成员可以生成 Helm 图表,让其他人使用 Cyclops 定义必要的值,从而轻松完成应用程序部署。
声明了应用程序所需的状态后,部署它就像点击按钮一样简单。此外,部署应用程序后,还可以通过 Cyclops 轻松更改所需状态。
在 Cyclops 中,每个应用程序都会列出其使用的资源的详细列表,包括部署、服务、Pod 等,所有这些都一目了然。您可以轻松跟踪它们的状态,从而快速发现并修复应用程序中的任何问题。这就像拥有一张清晰的路线图,可以引导您找到问题所在并进行故障排除。
开发空间
考虑一下每次保存代码时本地服务器自动刷新的便利性和节省时间,提供代码更改的实时可视化。
想象一下,将这种流畅的体验进一步融入 Kubernetes 集群;DevSpace让这一切成为可能。借助 DevSpace,您可以在编码过程中实时部署应用程序,从而促进快速迭代。
DevSpace 可以自动将更改应用到 K8s 集群,从而简化流程,无需完整的镜像构建和部署流程。它在本地构建镜像,无需将其推送到镜像仓库,但对于在开发过程中需要自动推送镜像的用户,可以选择自动推送镜像。
此外,DevSpace 还提供了一个用户界面,虽然功能有限,但可以快速概览集群中的所有 Pod。它允许您轻松访问 Pod 日志,甚至直接在其中执行命令,从而增强您的开发工作流程。
虽然我专注于本地开发,但 DevSpace 也可用于创建工作流程。所有工作流程都保存在一个文件中,只需一个devspace deploy
命令即可在任何机器上轻松重现环境。
库贝维厄斯
与本文提到的其他工具不同,Kubevious无法更改集群状态。它仅用作可观察性工具,专注于集群中的潜在问题。它会突出显示您可能运行的每种资源的潜在威胁和风险。
图形视图提供有关容器、网络、暴露、RBAC 和 Helm 图表的洞察,以便直观地进行故障排除。
Kubevious 有一个规则引擎,可以帮助检测和预防错误配置。它自带了开箱即用的规则,但也允许您创建自定义规则(例如,“不允许将图像放在最新标签上”)。
它还配备了很酷的时间机器功能,允许用户回到过去,审计应用程序、根本原因中断和恢复清单,确保完全了解集群历史。
还有它提供的全文搜索功能!您可以搜索任何资源,而无需知道其具体名称。一个很好的例子是,只需输入“ port 3000 ”即可搜索使用特定端口的任何资源,Kubevious 就能找到您的资源。
最后的想法
为了增强 Kubernetes 体验,我们推出了五种令人愉悦的工具,每种工具都具有其独特的魅力,让您的旅程更加顺畅、更加愉快。
这些并不是为 Kubernetes 提供 UI 的唯一工具,但我们希望重点介绍一些可能不太知名的工具。
所有这些工具都是开源的,所以试试吧;它们是免费的!
我想以一个问题来结束这篇文章,问各位读者:您对 Kubernetes 的图形化表示有何看法?它是必需的吗?还是说它已经kubectl
占据了主导地位?