写在前面
-
kubebox
是一个轻量的 k8s 管理工具,可以基于命令行终端或 Web 端 -
博文内容涉及: kubebox
不同方式的安装下载,简单使用 -
如果希望轻量一点,个人很推荐这个工具,轻量,而且使用简单 -
理解不足小伙伴帮忙指正 -
博文涉及 kubebox 相关界面文档版权归 kubebox 开源产品所有
「 我所渴求的,無非是將心中脫穎語出的本性付諸生活,為何竟如此艱難呢 ——赫尔曼·黑塞《德米安》」
简单介绍
Kubebox
是一个类似 k9s
的基于命令行终端的 k8s
管理工具,可以直接下载可执行文件到 windows
或者 Linux
上通过命令行运行,也可以部署为 Web 端,通过 Kubernetes
集群中托管的服务提供服务。通过浏览器访问,终端仿真由 Xterm.js
提供,与 Kubernetes
主 API 的通信由服务器代理。
kubebox 的特性:
-
交互式切换上下文 -
身份验证支持(承载令牌、基本身份验证、私钥/证书、OAuth、OpenID Connect、Amazon EKS、Google Kubernetes Engine、Digital Ocean) -
命名空间选择和 pod 列表观察 -
容器日志滚动/观看 -
容器资源使用情况(内存、CPU、网络、文件系统图表)[ 1 ] -
容器远程执行终端 -
集群、命名空间、pod 事件 -
对象配置编辑器和 CRUD 操作 -
集群和节点视图/监控
客户端部署需要提供 kubeconfig
文件的配置(KUBECONFIG环境变量或$HOME/.kube)
下载安装
桌面终端客户端安装
这里在 Windows 下安装
PS C:Program Files> curl -o kubebox.exe https://github.com/astefanutti/kubebox/releases/download/v0.10.0/kubebox-windows.exe
PS C:Program Files> .kubebox.exe
需要准备好 kubeconfig 文件
PS C:Users山河已无恙.kube> ls
目录: C:Users山河已无恙.kube
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2023/1/14 7:48 cache
-a---- 2023/1/14 10:19 5682 config
PS C:Users山河已无恙.kube> cat .config
apiVersion: v1
clusters:
- cluster:
certificate-authority-data:
.......................
下载好可以通过命令行,或者双击启动,选择 Pod 可以查看日志信息。

资源没有展示,需要安装 cadvisor
以 DS
的方式
$ kubectl apply -f https://raw.githubusercontent.com/astefanutti/kubebox/master/cadvisor.yaml
如果没有科学上网,需要替换镜像
- image: docker.io/google/cadvisor:v0.33.0
安装 cadvisor
,kubebox
的资源数据依赖于它
┌──[root@vms81.liruilongs.github.io]-[~/ansible/skooner]
└─$kubectl apply -f cadvisor.yaml
namespace/cadvisor created
serviceaccount/cadvisor created
Warning: policy/v1beta1 PodSecurityPolicy is deprecated in v1.21+, unavailable in v1.25+
podsecuritypolicy.policy/cadvisor created
clusterrole.rbac.authorization.k8s.io/cadvisor created
clusterrolebinding.rbac.authorization.k8s.io/cadvisor created
daemonset.apps/cadvisor created
┌──[root@vms81.liruilongs.github.io]-[~/ansible/skooner]
└─$kubectl get pods -n cadvisor
NAME READY STATUS RESTARTS AGE
cadvisor-256sp 1/1 Running 0 29s
cadvisor-5d42t 1/1 Running 0 29s
cadvisor-6sx5r 1/1 Running 0 29s
cadvisor-k2tv4 1/1 Running 0 29s
cadvisor-szxlj 1/1 Running 0 29s
┌──[root@vms81.liruilongs.github.io]-[~/ansible/skooner]
└─$kubectl get all -n cadvisor
NAME READY STATUS RESTARTS AGE
pod/cadvisor-256sp 1/1 Running 0 38s
pod/cadvisor-5d42t 1/1 Running 0 38s
pod/cadvisor-6sx5r 1/1 Running 0 38s
pod/cadvisor-k2tv4 1/1 Running 0 38s
pod/cadvisor-szxlj 1/1 Running 0 38s
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
daemonset.apps/cadvisor 5 5 5 5 5 <none> 38s
安装之后可以正常展示计算资源信息

可以查看CPU,网络,内存,文件系统相关的数据统计。

查看集群事件

集群 web 端安装
在当前的 k8s 集群安装
kubectl apply -f https://raw.github.com/astefanutti/kubebox/master/kubernetes.yaml
yaml 文件还需要处理下,这里我们把 Ingress 的部分删掉, svc 修改为 type:NodePort
,如果小伙伴的 Ingress 控制器可以用可以忽略
┌──[root@vms81.liruilongs.github.io]-[~/ansible/kubebox]
└─$kubectl apply -f kubernetes-kubebox.yaml
namespace/kubebox created
service/kubebox created
deployment.apps/kubebox created
serviceaccount/kubebox created
clusterrolebinding.rbac.authorization.k8s.io/kubebox created
clusterrole.rbac.authorization.k8s.io/kubebox created
创建的资源信息
┌──[root@vms81.liruilongs.github.io]-[~/ansible/kubebox]
└─$kubectl get all -n kubebox
NAME READY STATUS RESTARTS AGE
pod/kubebox-6bc5fbdb49-tpn5d 1/1 Running 0 3m28s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/kubebox NodePort 10.102.154.145 <none> 8080:32138/TCP 3m29s
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/kubebox 1/1 1 1 3m28s
NAME DESIRED CURRENT READY AGE
replicaset.apps/kubebox-6bc5fbdb49 1 1 1 3m28s
┌──[root@vms81.liruilongs.github.io]-[~/ansible/kubebox]
└─$
浏览器访问: http://192.168.26.81:32138/
命令空间选择

可以查看日志信息

可以直接到 pod 内部执行远程 shell

快捷按键
按键绑定 | 描述 |
---|---|
一般的 |
|
l, Ctrl+l |
登录 |
n |
更改当前命名空间 |
[ Shift+] ←, → |
导航屏幕 |
Tab, Shift+Tab |
在活动屏幕内更改焦点 |
↑,↓ |
导航列表/表单/日志 |
PgUp,PgDn |
向上/向下移动一页 |
Enter |
选择项目/提交表格 |
Esc |
关闭模态窗口/取消表单 |
Ctrl+z |
关闭当前屏幕 |
q, Ctrl+q |
退出 |
登录 |
|
←,→ |
导航 Kube 配置 |
pod |
|
Enter |
选择吊舱/循环容器 |
r |
远程shell进入容器 |
m |
内存使用情况 |
c |
CPU使用率 |
t |
网络使用 |
f |
文件系统使用 |
e |
Pod 事件 |
Shift+e |
命名空间事件 |
Ctrl+e |
集群事件 |
博文参考
https://github.com/astefanutti/kubebox
原文始发于微信公众号(山河已无恙):K8s:基于命名行终端 & Web 控制台的k8s管理工具 kubebox
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/83542.html