云原生应用开发新体验:Kui
云原生(Cloud Native)应用是伴随著 Kubernetes 应用范围的扩大,基于云模型而提出的一种概念。
本文来介绍一个云原生应用开发的工具 Kui, 这是一款由 IBM 开源的工具,使用 Electron 提供 GUI 能力。
Kui Shell offers a new development experience for building cloud-native applications. By combining the power of familiar CLIs with visualizations in high-impact areas, Kui enables you to manipulate complex JSON and YAML data models, integrate disparate tooling, and provides quick access to aggregate views of operational data.
正如以上介绍中提到的,Kui 提供了一种新的开发体验(原先大多数时候我们是通过 kubectl
与 Kubernetes 中的资源进行交互),Kui 结合了原有 CLI 的强大功能,并提供一种可视化的方式,方便我们对 Kubernetes 中 YAML 或者 JSON 格式数据的处理。
介绍就先到这里,我们来看下它的安装及主体功能,看看它能为我们带来什么。
安装
安装方式其实很简单,项目的安装文档已经非常详细了。我主要推荐两种在 Linux 下的安装方式(当然,Kui 是支持跨平台的 macOS 和 Windows 也都可以用):
- 下载预构建好的二进位包:
(MoeLove) ? wget -O kui.zip https://linux-zip.kui-shell.org/
(MoeLove) ? unzip kui.zip
(MoeLove) ? ./Kui-linux-x64/Kui shell
- 源码安装:
这是我最为推荐的方式,以下内容也均是以此方式安装来介绍的。 注意,此方式需要你机器上已经装好了 NodeJS 相关的环境
(MoeLove) ? git clone https://github.com/IBM/kui.git
(MoeLove) ? cd kui
(MoeLove) ? npm install
(MoeLove) ? export PATH=$PWD/bin/:$PATH
在执行完上述命令后,便安装了相关的依赖,以及 bin
目录下的 kubectl-kui
命令会通过 kubectl
的插件机制,自动注册好。
通过以下命令可进行验证:
(MoeLove) ? kui git:(master) kui version
2.33.0
(MoeLove) ? kui git:(master) kubectl kui version
2.33.0
使用
你的机器上需要提前配置好 KUBECONFIG
的环境变数或者是将配置文件放到了正确的位置 i.e. $HOME/.kube/config
如果你还没有一个可访问的 Kubernetes 集群,强烈建议你阅读我之前的文章 使用 Kind 搭建你的本地 Kubernetes 集群, Kind 是一个非常优秀也非常方便的工具。
如果你对 Kubernetes 还不甚了解的话,也推荐阅读我写的 《Kubernetes 从上手到实践》 进行学习。
回到正题,我们来看下 Kui 的主体功能。