Monokle 是一款完全开源的 Kubernetes 桌面管理工具,通过提供用于编写 YAML 清单、验证策略和管理实时集群的统一可视化工具,简化了创建、分析和部署 Kubernetes 配置的过程。Monokle 可通过本地安装的桌面版本和云版本使用,无需在你的环境中安装,Monokle 还包括一个 CLI 和 GitHub 操作,可用于集成到您的开发工作流程中。Monokle Desktop 适用于创建和维护高质量 Kubernetes 应用的工程师。桌面版侧重于使任何人都能够在部署之前和之后独立于他们的知识水平来管理清单和配置,具有特定功能,可以通过单个开发人员和平台工程师的模板和片段轻松创建内容。
核心功能
-
👩💻 用于配置文件、清单、资源和集群管理的单一 IDE -
🌤️ 连接到您的集群并查看实时状态和资源 -
⚡ 快速获得您的清单、它们包含的资源和关系的高级视图 -
📇 利用 Git 管理配置的生命周期 -
👌 根据 YAML 格式、K8s Schema(包括已安装的 CRD)实时验证你的清单 -
✅ 使用 OPA 策略规则验证资源或定义您自己的 -
🖊️ 轻松编辑和创建资源,无需学习或查找 yaml 语法并查看应用的更改 -
🔨 通过保持名称和引用的完整性来重构资源 -
📷 预览和调试使用 kustomize 或 helm 生成的资源 -
➕ 可视化 CRD 中定义的扩展资源 -
🤝 将资源版本与您的集群进行比较,并立即或通过拉取请求应用更改 -
📚 使用 Monokle 的模板系统创建多步骤表单以快速生成清单
安装
可以直接获取 Monokle 的源码自己构建,也可以直接下载官方的安装包一键安装即可:
-
Windows:https://github.com/kubeshop/monokle/releases/download/downloads/Monokle-win-x64.exe -
MacOS:https://github.com/kubeshop/monokle/releases/download/downloads/Monokle-mac-universal.dmg -
Linux:https://github.com/kubeshop/monokle/releases/download/downloads/Monokle-linux-x86_64.AppImage
Monokle Desktop 使用 Helm、Kubectl 和 Kustomize 来实现相应的预览功能,并使用 Git 来进行版本控制。所以还需要我们安装 Helm、Kubectl 或 Kustomize 以及 Git 工具。
使用
安装完成后直接打开应用即可开始使用。第一次使用的时候在欢迎屏幕上,可以通过四个选项开始处理项目:
-
选择一个包含K8s资源的目录 -
从0开始创建一个项目和资源 -
通过预设的模板来选择 -
从一个 Git 仓库中来获取数据

比如我们这里选择一个 helm chart 模板,选择后会创建一个项目,并自动打开 chart 包。

在页面中间我们可以选择 Create a resource
来创建一个新的资源:

勾选 Generate Random
则会根据资源的 schema 定义随机生成一些内容,如果你配置了一些模板,还可以直接选择从模板进行创建:

然后就可以自定义资源对象内容,然后可以将其保存到我们的 chart 包中去,如果你连接了集群也可以直接进行部署操作。
在菜单的第二个 tab 中可以对资源进行对比同步,包括可以从集群中资源或者 Helm/Kustomize 预览的资源。

第三个功能是根据验证设置修复资源,在左侧菜单的设置部分中管理验证策略、打开或关闭规则等。
第四个就是从 Git 仓库 Clone 资源数据下来进行编辑管理:

从功能上来看我们可以了解 Monokle Desktop 主要用于处理资源清单文件的,但它也具有连接到集群并显示所有包含的资源的能力,从而提供了一种方便、简单的方法来检查集群资源。
从左侧菜单栏选择第五个功能 View cluster dashboard
,进入页面后 Monokle 会根据我们 kubeconfig 中的配置列出所有的集群,然后选择一个集群进行连接即可:

连接后正常就可以看到 K8s 集群的整体概览了,和大部分 K8s 管理系统类似,会将当前集群的一些整体状况和相关的资源对象展示出来,如下图所示:
比如我们最常用的 Pod 列表,基本展示方式和其他 Dashboard 基本上没什么太大的差异。

在列表中点击一个 Pod 就会展示出当前 Pod 的相关信息、资源清单,同样还有日志和 Shell 功能,在资源清单中还可以直接进行修改。

当我们连接了集群后则可以操作的功能就更多了,比如在前面的资源管理的页面中也会包含当前集群的一些资源信息了,比如我们这里选择 values.yaml
文件后,还可以选择将该 Helm Chart 安装到集群中去。

同时在资源验证页面也会自动将当前集群的资源清单校验结果展示出来:

这些验证策略在设置页面可以选择是否开启:

此外 Monokle 还具有插件功能,我们可以直接应用中安装,同样也支持很多快捷键可以提高我们的工作效率。关于 Monokle 的更多使用大家可以前往官方文档 https://kubeshop.github.io/monokle/ 探索。
GitHub 仓库:https://github.com/kubeshop/monokle
原文始发于微信公众号(Github爱好者):又一优雅的 K8s 开源桌面管理工具 – Monokle
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/121504.html