Hello folks,我是 Luga,今天我们来分享一下关于 Kubernetes 资源管理的工具-KUI,全称为“K ubernetes U ser Interface”。作为一款 Kubernetes 工具的集合,KUI 旨在为管理 Kubernetes 资源提供一种更直观和可视化的方式。
— 01 —
KUI 概述
众所周知,Kubernetes 是当前云原生生态环境使用最广泛的容器编排系统之一,其能够帮助开发人员和 IT 团队在日常的项目活动中进行应用程序的部署及管理。
基于所提供的一个名为 Kubectl 的强大命令行界面(CLI), Kubernetes 允许用户与所构建的 Kubernetes Cluster 和资源进行交互。
然而,毕竟基于原生态,使得 Kubectl CLI 在数据的可用性和可视化展现方面存在一些局限性。通常情况下,基于 Kubectl 命令的输出,其结果往往显示为 ASCII 格式,使得难以阅读和理解。此外,特别是对新手来说,浏览复杂的 Kubernetes 资源可能具有挑战性。
为了解决原生 Kubectl 带来的这些痛点,故此,一种命名为 “KUI” 的工具便应运而生。
KUI 是一个开源项目,为 Kubectl 提供了图形用户界面。它由 Kubernetes SIG(特殊兴趣小组)开发,提供了一种管理 Kubernetes 资源的替代方法。KUI 使用Electron,一个使用 Web 技术构建桌面应用程序的框架,以提供原生桌面体验。
同时,KUI 提供了一个强大的 REPL(Read-Eval-Print Loop),允许用户使用更为直观和可视化的界面与 Kubernetes 资源进行交互。基于其所具有的实时表、自动完成和语法高亮显示等功能,KUI 使用户更容易浏览和管理他们的 Kubernetes 资源。
— 02 —
KUI 基本工作原理
KUI 通过利用 Kubectl CLI 工作,并为管理 Kubernetes 资源提供更加友好的用户体验和可视化的互操作界面。当用户在 KUI 中输入 “kubectl” 命令时,KUI 将该命令发送到 Kubectl CLI,并以更直观和可观测的格式展现输出。
KUI 通常基于 HTML、CSS 和 JavaScript 等技术的组合要素来进行图形用户界面的渲染。除此之外,KUI 还使用 Electron 框架来提供原生桌面体验。
基于其设计理念, KUI 通过 REST API 与 Kubectl CLI 通信,同时,此 API 允许它执行 Kubectl 命令并检索输出。
03 —
KUI 部署安装
基于上述所属,作为一个最具有 GUI 风格的 CLI,KUI 是一款跨平台应用程序,其构建适用于 macOS、Linux 和 Windows。我们也可以基于源代码构建它。它的引擎盖下有 Electron 框架,并作为一个预构建的二进制文件提供。
乍一看,KUI 和大多数终端一样。有一个选项可以在顶部的选项卡之间切换,还有一个按钮可以将当前选项卡拆分为垂直和水平子窗口。右下角有一个下拉菜单,用于选择外观主题、帮助按钮和通知区域。
KUI 界面的特别之处在于,每个输入的命令都不是典型的终端行,而是一个带有用于输入命令的字段的面板。
与其他工具一样,KUI 的安装部署相对来说还是很简单。具体可参考如下所述。
1. 自定义 macOS 平台安装
如果我们使用的是 macOS 并安装了 Homebrew,那么,我们可以通过在终端中运行以下命令轻松安装 KUI,具体可参考:
代码语言:javascript复制[leonli@leonLab ~ ] % brew tap kui-shell/kui brew install kui
2. 二进制文件安装(主要限于 Windows 和 Linux 操作系统)
如果我们使用的是 Windows 或 Linux,我们可以从 GitHub 发布页面下载 KUI 的最新二进制版本。然后,解压缩文件并将解压缩的目录添加到我们所设定的 PATH 环境变量中。此时,可以使用 kubectl kui 命令启动 KUI。
3. 源代码构建
如果我们更喜欢从源代码构建 KUI,我们可以从 GitHub 克隆存储库并使用Node.js 构建它。以下是具体的操作步骤:
代码语言:javascript复制[leonli@leonLab ~ ] % git clone git@github.com:kui-shell/kui.git
[leonli@leonLab ~ ] % cd kui
[leonli@leonLab ~ ] % npm ci
[leonli@leonLab ~ ] % npm run build
这将为我们当前的平台构建 KUI。然后,我们可以使用 ./bin/kui 命令启动 KUI组件等。
4.基于 Docker 部署
如果我们更喜欢使用 Docker命令行,那么,可以使用 kui-shell/kui Docker 镜像。如下为在 Docker 中启动 KUI 的示例命令,具体:
代码语言:javascript复制[leonli@leonLab ~ ] % docker run -it -e KUBECONFIG=/path/to/your/kubeconfig kui-shell/kui
安装 KUI 后,我们可以使用 kubectl kui 命令启动它。这将在我们所构建的默认网页浏览器中打开 KUI 界面。从那里,我们可以使用直观的图形界面与 Kubernetes Cluster 进行交互。
04 —
基于 KUI 的价值与意义
通常,在实际的业务场景中,使用 KUI 能够为我们所构建的云原生架构平台业务支撑提供如下好处,具体:
1、沉浸式的用户界面体验
KUI 提供了一个易于导航和使用的用户友好界面。它的图形用户界面消除了记住复杂命令和标志的需要,使其成为初学者和高级用户的最佳选择。
2、提高生产力
KUI 允许我们使用比传统的命令行界面更高效地执行任务。其直观的界面和可视化数据的能力使我们能够更快、更准确地投入到生产中。
3、可观测性渲染:
KUI 的图形界面增强了可见性,使监控和管理复杂环境变得更加容易。基于其实时更新和动态表特性,使得允许我们在变化发生时能够及时观测最新的活动状态,使我们能够快速做出明智的决策。同时,KUI 的调试功能允许我们能够轻松识别和故障排除问题,再加之友好的交互式界面以及对日志和事件的支持使隔离问题和快速找到解决方案变得更为容易。
4、可定制性
KU I的框架允许我们依据自身的业务需求创建自己的 Kubernetes 增强功能,设置自定义主题和图标,并增强我们最喜欢的 CLI 命令行。当然,我们还可以使用 KUI 的托管客户端-服务器架构,或通过 Electron 分发可双击的应用程序等。