Kui 一个用于 Kubernetes 的“混合”CLI GUI 应用程序_kubernetes gui

乍一看,Kui 和大多数终端一样。有一个选项可以在顶部的选项卡之间切换,还有一个按钮可以将当前选项卡拆分为垂直和水平子窗口。右下角有一个下拉菜单,用于选择感觉和外观主题、帮助按钮和通知区域。

Kui 界面的特别之处在于,每个输入的命令都不是典型的终端行,而是一个带有用于输入命令的字段的面板

当您将鼠标悬停在面板上时,会出现一个菜单,允许您复制命令、它产生的结果或指向它的链接(我们将在后面讨论该功能)。

Kui 可以在终端中处理不同的文件格式。例如,图像可以在默认查看器中打开。您还可以使用内置编辑器打开和编辑文本文件。此编辑器提供了操作文本文件所需的最小功能集。例如,有行编号,您只需单击所需的文本块即可定位光标。在右上角,有一组典型的按钮,用于保存更改、取消上次操作和清除文档内容。

该选项卡可以拆分为垂直和水平子窗口(取决于子窗口的数量)。但是,默认情况下,您无法更改子窗口的大小和布局。它们的大小与主窗口的大小成比例地变化。每个子窗口的右上角都有用于反转背景、清除内容和关闭子窗口的按钮。

htop、cd、ls 命令, 打开包含图片的目录, 使用选项卡

Kui 和 Kubernetes

现在让我们谈谈在 Kubernetes 中使用这个“终端”。Kui 既可以作为独立应用程序运行,也可以作为插件运行(例如,通过在终端中键入)。对 Kubernetes 集群的访问是使用该文件组织的。此外,上下文切换在应用程序本身中可用。kubectl kui``kubectl kui get namespace``kubeconfig

我们需要一个 K8s 集群来熟悉 Kui。为此,我将使用 minikube 和通过 Helm 图表部署的 WordPress 应用程序。您还可以同时将多个 Kubernetes 集群连接到 Kui。在这种情况下,底部菜单允许您在它们之间切换。当前目录和 Kubernetes 上下文显示在窗口的左下角(您可以轻松地在命名空间之间切换)。

使用 Kubernetes 时,KUI 最显着的特性是应用程序将关键的 Kubernetes 资源显示为表和选项卡。例如,您可以使用命令列出特定集群中的命名空间(也可以使用较短的别名),然后通过 GUI 使用集群资源。每个命名空间旁边都有一个彩色方块,用于显示其状态:如果删除命名空间,其方块的颜色将从绿色变为蓝色。kubectl get namespaces``k

Kui 和命名空间

Kui 接口基于向下钻取方法;也就是说,它从全局视图开始,然后将焦点缩小到逐渐变小的元素:

  • 选择目标命名空间(例如,)后,在同一窗口中会自动打开一个选项卡。此选项卡有一个包含命令的面板。wp-kui``kubectl get namespace wp-kui -o yaml
  • 此面板下方有一个带有选项卡的菜单:
    • 摘要 — 命名空间的名称、状态和运行时间;
    • Resources — 主要的命名空间资源:Pod、Service、Deployment、ReplicaSet、StatefulSet,以及它们的数量。这与你得到的输出基本相同kubectl -n namespace get all;
    • 注释(并非在所有名称中);
    • 标签;
    • 上次应用(此选项卡在系统命名空间中不存在);
    • YAML — 命名空间的清单。可以编辑此清单。

“资源”选项卡

YAML 选项卡

使用选项卡和处理其内容的一般过程大致如下:


类似的向下钻取方法也适用于其他 Kubernetes 实体。例如,您可以转到 Resources 选项卡并选择感兴趣的资源(例如,Pod)。在这种情况下,带有该命令的面板将显示在子窗口中,以及该命名空间中的一组 Pod。该菜单以文本和图形形式包含 Pod 名称及其状态(由不同颜色的方块组成的网格,后跟 Pod 状态)。kubectl get pod -n namespace

Pod 状态的图形表示可以方便地以紧凑的方式显示有关具有大量 Pod 或资源的命名空间的统计信息。例如,你可以很容易地看到一个 Pod 的状态为 。如果你点击它:CrashLoopBackOff

  • 将出现一个包含该命令的面板以及一个菜单窗口,其中包括以下选项卡:kubectl get pod nameOfPod -o yaml -n namespace
    • 摘要 — 关键参数,例如状态、副本中正在运行的 Pod/Pod 数量、状态、重启、年龄、IP、节点等;
    • 标签;
    • 日志 ― Pod 主容器的日志(诊断问题最有用的信息);
    • 终端 — 执行到容器 CLI 的选项;
    • 带有清单的 YAML 选项卡;
  • 此外,底部菜单上还有按钮:
    • 显示事件 ― 显示与资源相关的事件;
    • Show Owner Reference — 对于 Pod,这是它拥有的 ReplicaSet;对于 ReplicaSet,这是一个 Deployment 实体;
    • Show Node — 有关当前运行 Pod 的主机的信息。

该界面的设计使有关 K8s 实体的信息显示在新的菜单子窗口(在上一个窗口下方)中。您可以使用命令面板的弹出子菜单关闭不再需要的窗口/面板。

在 Kui 中管理 Pod(文本和图形显示)

笔记本

另一个很酷的 Kui 功能是将您的所有操作保存在笔记本中。打开这样的笔记本将打开一个选项卡,其中包含您在保存之前执行的所有命令面板。这些命令的输出菜单窗口可以最大化。同时,Kui 不会跟踪命令输出窗口中的选项卡。

例如,可以使用笔记本创建教程。Kui 发行版在安装后会立即提供其中的几个 Kubernetes 教程。例如,Kui 帮助以笔记本格式显示。

此类指南是交互式的,因为您可以直接从笔记本运行命令。此外,您可以将窗口拆分为具有自定义背景颜色的多个水平和垂直子窗口。请注意,Kui 将命令面板中以 # 开头的行视为注释。您还可以插入使用命令输入面板左侧的链接按钮复制的 kui-link 链接。Kui 支持使用命令从 Markdown 文件加载注释,以便更轻松地编写文本注释。commentary -f /path/to/file

此外,Kui 笔记本还可用于创建用于监视或管理群集的仪表板。Kui 发行版中包含一个示例仪表板。您可以将其用作创建针对您的集群量身定制的自定义仪表板的基础:

Kui 仪表板示例

定制 Kui

默认情况下,Kui 支持更改主题和调整字体大小。幸运的是,您可以创建自定义 Kui 版本。在其中,您可以自定义视觉(字体大小、图标、主题)和功能元素(使用插件)。GitHub 上有一个 wiki 涵盖了 Kui 自定义。

虽然 Kui 正在积极向 Kubernetes 集成发展,但这并不是该工具的唯一用例。它在引擎盖下有一个成熟的基于 CLI 的平台。执行某些命令可能会导致图形输出。例如,该命令将命名空间显示为带有多色方块的图形表,其中每种颜色表示特定状态。kubectl get ns

本文仅讨论默认安装的插件。但是,Kui 还有其他几个现成的插件:、 和 。kubectl``s3``iter8``git

最终印象

在撰写本文的过程中,我在具有多个环境和资源的生产集群上测试了 Kui。在具有 ~80 个命名空间的集群中,该命令的运行速度比其终端命令稍慢,但在舒适的限制范围内。主要缺点是默认设置数量有限。kubectl get ns

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值