Kubernetes:基于命名行终端/ Web 控制台的管理工具 kubebox
创始人
2024-05-17 00:52:20
0

写在前面


  • kubebox 是一个轻量的 k8s 管理工具,可以基于命令行终端或 Web 端
  • 博文内容涉及: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\山河已无恙\.kubeMode                 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 可以查看 日志信息。

资源没有展示,需要安装 cadvisorDS 的方式

$ 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          38sNAME                      DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
daemonset.apps/cadvisor   5         5         5       5            5                     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          3m28sNAME              TYPE       CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE
service/kubebox   NodePort   10.102.154.145           8080:32138/TCP   3m29sNAME                      READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/kubebox   1/1     1            1           3m28sNAME                                 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+] ,
[ Alt+] 1, … ,9

导航屏幕
(使用ShiftAlt在 exec 终端内)

Tab, Shift+Tab

在活动屏幕内更改焦点

,

导航列表/表单/日志

PgUp,PgDn

向上/向下移动一页

Enter

选择项目/提交表格

Esc

关闭模态窗口/取消表单

Ctrl+z

关闭当前屏幕

q, Ctrl+q

退出[ 3 ]

登录

,

导航 Kube 配置

豆荚

Enter

选择吊舱/循环容器

r

远程shell进入容器

m

内存使用情况

c

CPU使用率

t

网络使用

f

文件系统使用

e

Pod 事件

Shift+e

命名空间事件

Ctrl+e

集群事件

博文参考


https://github.com/astefanutti/kubebox

相关内容

热门资讯

【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
AsusVivobook无法开... 首先,我们可以尝试重置BIOS(Basic Input/Output System)来解决这个问题。...
ASM贪吃蛇游戏-解决错误的问... 要解决ASM贪吃蛇游戏中的错误问题,你可以按照以下步骤进行:首先,确定错误的具体表现和问题所在。在贪...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...