Kubernetes:基于命名行终端/ Web 控制台的管理工具 kubebox

news2024/10/7 12:23:53

写在前面


  • 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\山河已无恙\.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 可以查看 日志信息。

资源没有展示,需要安装 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          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+] ,
[ 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/179360.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Pointofix安装与设置为中文

Pointofix用来桌面绘图&#xff0c;还可以放大桌面一、下载官网下载地址&#xff1a;https://www.pointofix.de/&#xff0c;点击箭头所指跳转页面点击下载安装包pointofix180de-20180511-setup.zip&#xff0c;语言包pointofix-translation-20220120.zip二、安装解压pointofix…

【学习笔记】[AGC022F] Checkers

首先不考虑算重&#xff0c;因为这题坑点在于当n≥5n\ge 5n≥5时不同结构的树可能生成相同的结果。 那么我们考虑生成不同的系数序列AAA&#xff0c;然后用可重集算一下方案数。考虑将−1-1−1的边缩去后所形成的树&#xff0c;第iii层的点表示的是2i2^i2i&#xff0c;那么如何…

基于微信小程序的新生自助报到系统小程序

文末联系获取源码 开发语言&#xff1a;Java 框架&#xff1a;ssm JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7/8.0 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.3.9 浏览器…

蓝桥杯-刷题-补基础(加强版)

&#x1f33c;feels good&#x1f603;串烧 - 许天昱/陈旭辉-nn/单子玹/蒋笛含 - 单曲 - 网易云音乐 &#x1f33c;10道入门题 --- 明显比上篇博客难了一点&#xff0c;要慢慢做了 目录 一&#xff0c;第k个素数 二&#xff0c;最大公约数 三&#xff0c;最小公倍数 四…

Mybatis-Plus 多记录操作与逻辑删除

目录 多记录操作 逻辑删除 问题引入 所以对于删除操作业务问题来说有: 实现步骤 逻辑删除&#xff0c;对查询有没有影响呢? 如果还是想把已经删除的数据都查询出来该如何实现? 多记录操作 程序设计出来一个个删除的话还是比较慢和费事的&#xff0c;所以一般会给用户一…

OpenMP Parallel Construct 实现原理与源码分析

OpenMP Parallel Construct 实现原理与源码分析 前言 在本篇文章当中我们将主要分析 OpenMP 当中的 parallel construct 具体时如何实现的&#xff0c;以及这个 construct 调用了哪些运行时库函数&#xff0c;并且详细分析这期间的参数传递&#xff01; Parallel 分析——编…

逆序遍历List集合

1 问题手写一个程序&#xff0c;完成List集合对象的逆序遍历2 方法创建List接口的多态对象向创建好list集合添加元素使用hasPrevious方法。import java.util.ArrayList;import java.util.List;import java.util.ListIterator;public class TestList { public static void ma…

如何好好说话第11章 攀登抽象之梯

在心里面放一把抽象之梯我们要时刻去概括。从更宏观的角度去理解我们当前所处的事情。抽上之梯的这个概念&#xff0c;在写作教材中常常出现。他指引我们写作的时候&#xff0c;不要站在梯子的中间。要么具体详实&#xff0c;要么抽象而精简短小。为什么不要站在梯子中间呢&…

蓝桥杯 stm32 MCP4017

本文代码使用 HAL 库。 文章目录前言一、MCP4017 的重要特性二、MCP4017 计算 RBW 阻值三、MCP4017 地址四、MCP4017 读写函数五、CubeMX 创建工程 &#xff08;利用 ADC 测量 MCP4017 电压&#xff09;、对应代码&#xff1a;总结前言 一、MCP4017 的重要特性 蓝桥杯 板子上…

冯诺依曼体系结构及操作系统(OS)的简单认识

文章目录冯诺依曼体系结构操作系统&#xff08;Operator System&#xff09;冯诺依曼体系结构 冯诺依曼结构也称普林斯顿结构&#xff0c;是一种将程序指令存储器和数据存储器合并在一起的存储结构。数学家冯诺依曼提出了计算机制造的三个基本原则&#xff0c;即采用二进制逻辑…

虚拟机的介绍及安装

文章目录虚拟机介绍VMware WorkStation安装在VMware上安装Linux远程连接Linux系统虚拟机介绍 通过虚拟化技术&#xff0c;在电脑内&#xff0c;虚拟出计算机硬件&#xff0c;并给虚拟的硬件安装操作系统&#xff0c;即可得到一台虚拟的电脑&#xff0c;称之为虚拟机。 VMware…

Ubuntu安装wordpress

这里写自定义目录标题开始环境安装打开参考链接开始 环境 这里安装的php是7.4版本&#xff0c; apt install apache2 php mariadb-server apt install php7.4-mysql php-dev记得需要单独安装php7.4-mysql&#xff0c;不然可能会报错连接数据库出错&#xff0c;中电是wp_chec…

(机械师T90外接显卡GTX-1080)Win10笔记本通过M.2接口外接独立显卡+解决错误代码43

文章目录前言一、硬件清单二、硬件安装1.插入转接卡2.显卡安装3.接入电源4.连接显示器三、驱动安装&#xff08;重点&#xff09;1.禁用笔记本独显2.卸载驱动3.安装新驱动4.解决错误代码43外接显卡使用体验前言 据外接显卡成功也快有一个月了&#xff0c;期间畅玩了刺客信条奥…

【C进阶】程序环境和预处理

⭐博客主页&#xff1a;️CS semi主页 ⭐欢迎关注&#xff1a;点赞收藏留言 ⭐系列专栏&#xff1a;C语言进阶 ⭐代码仓库&#xff1a;C Advanced 家人们更新不易&#xff0c;你们的点赞和关注对我而言十分重要&#xff0c;友友们麻烦多多点赞&#xff0b;关注&#xff0c;你们…

新年快到了,如何运用Python实现春联

这篇博文可能写晚了,现在已经是初五了,哈哈!小编也是最近才想到的,看到老爸去年二十九(或者三十)在写春联,当时觉得他写的好慢啊!(不过让我来写,肯定不行!),于是萌生了用小编所学知识实现春联,只不过家里面没有打印机,不然代码写完之后,之后直接用打印机打印出来就…

【汤姆猫的实现 Objective-C语言】

一、实现之后的效果 1.左边3个按钮,分别是 1)点击之后,汤姆猫掏出一只白色的小鸟,刚要吃,它飞走了, 2)汤姆猫放屁 3)汤姆猫喝牛奶, 右边3个按钮,分别是 1)汤姆猫用爪子把屏幕抓出3个道子, 2)汤姆猫用披萨饼砸屏幕, 3)汤姆猫拿出两个锣,对着一敲, 2.这…

Java 23种设计模式(7.结构型模式-装饰者模式)

结构型模式-装饰者模式 代码分析 类图 代码 abstract class Component {abstract void operation(); }public class ConcreteComponent extends Component {void operation() {System.out.println("具体类");} }public class Decorator extends Component{private …

为向IPv6过渡的组织发布安全指南

美国国家安全局 (NSA) 已发布指南&#xff0c;以帮助国防部 (DoD) 和其他系统管理员识别和减轻与过渡到互联网协议版本 6 (IPv6) 相关的网络风险。 IPv6 由互联网工程任务组 (IETF) 开发&#xff0c;是用于识别和定位系统并在互联网上路由流量的协议的最新版本&#xff0c;提供…

统计学习方法 学习笔记(5)决策树

决策树5.1.决策树模型与学习5.2.特征选择5.3.决策树的生成5.4.决策树的剪枝5.5.CART算法决策树基本概述&#xff1a; 算法类别&#xff1a;一种基本的分类和回归方法&#xff1b;基本结构&#xff1a;呈现树形结构&#xff0c;在分类问题中表示基于特征对实例进行分类的过程。…

云原生之使用docker部署Postgresql数据库

云原生之使用docker部署Postgresql数据库一、Postgresql介绍1.PostgreSQL简介2.PostgreSQL的特点二、检查本地docker环境1.检查系统版本2.检查docker版本3.检查docker状态三、下载Postgresql镜像四、部署Postgresql数据库1.创建Postgresql容器2.查看Postgresql容器状态3.查看Po…