前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >又一款好用的 Kubernetes 集群终端管理工具 Kubebox,你有使用过吗?

又一款好用的 Kubernetes 集群终端管理工具 Kubebox,你有使用过吗?

作者头像
iMike
发布2019-11-07 11:43:03
1.2K0
发布2019-11-07 11:43:03
举报
文章被收录于专栏:运维之美运维之美
什么是 Kubebox

Kubebox 是 Kubernetes 集群的终端控制台,允许使用界面管理和监控集群实时状态。Kubebox 可显示 Pod 资源使用情况、集群监视和容器日志等。此外,用户可轻松导航到所需的命名空间并执行到所需容器,以便快速排障或恢复。

项目地址:https://github.com/astefanutti/kubebox

安装 KubeBox

KubeBox 安装非常的简单,只需根据不同平台下载对应的二进制文件就可以了。

下载二进制文件

代码语言:javascript
复制
# Linux
$ curl -Lo kubebox https://github.com/astefanutti/kubebox/releases/download/v0.6.1/kubebox-linux && chmod +x kubebox

# OSX
$ curl -Lo kubebox https://github.com/astefanutti/kubebox/releases/download/v0.6.1/kubebox-macos && chmod +x kubebox

# Windows
$ curl -Lo kubebox.exe https://github.com/astefanutti/kubebox/releases/download/v0.6.1/kubebox-windows.exe

运行 KubeBox

下载完成二进制文件后,我们只需直接执行就可以运行 KubeBox。

代码语言:javascript
复制
$ ./kubebox

执行成功之后,我们将会看到如下图一样的运行界面。

如果你觉得上面的方法太麻烦,当然你也可以使用 Docker 一键启动 Kubebox。

代码语言:javascript
复制
$ docker run -it --rm -v ~/.kube/:/home/node/.kube/:ro astefanutti/kubebox

注意:KubeBox 需要依赖本地的 Kuberctl 才能正常启动。你需要提前将 Kubernetes Master 节点下的 Kubeconfig 配置文件放在你所在机器的 ~/.kube/ 目录下,并修改 config 文件中 Server 的 IP 为你本地可访问的 IP 地址,或者设置环境变量 KUBECONFIG

KubeBox 的基本使用

1. KubeBox 常用操作方式

  1. 按回车键可进行条目选择。
  2. 按 M 键可查看内存使用情况。
  3. 按 C 键可查看 CPU 使用情况。
  4. 按 T 键可查看网络使用情况。
  5. 按 R 键可进入 CMD 命令终端。
  6. 按 Q 键直接退出 KubeBox。

更多操作说明可参考下图中的详细说明。

2. 操作 Namespace

你可以使用 「⬆️⬇️」选择需要操作的 Namespace,按「回车键」确认选择。如果需要再次唤起 Namespace 选项,你可以按「N 键」。

3. 操作 Pod

进入具体的 Namespace 空间后,你可以使用「⬆️⬇️」 选择指定的 Pod,按「回车键」确认选择,此时会显示 Pod 的如下信息。

此时你可以对 Pod 进行以下操作。

  1. 按「M 键」查看内存使用的具体情况。
  2. 按「C 键」查看 CPU 使用的具体情况。
  3. 按「T 键」查看网络使用的具体情况。
  4. 鼠标点击 Logs 框后,按 「⬆️⬇️」键滚动浏览日志文件。

4. 操作容器

鼠标点击 Pods 框后,你可以按「⬆️⬇️」键选中指定的容器,然后按「R 键」进入容器。如果需要退出容器,你可以输入 exit 命令进行退出。

5. Debug 选项

按「⬅️➡️」键可以进行 Namespace 和 Debug 的菜单切换,或者直接按「2 键」进入 Debug 选项卡。这里将记录一些你在 Kubebox 上的操作日志。

Kubebox Web 模式

Kubebox 不但可以直接运行在终端,你也可以将它直接部署到 Kubernetes 集群中。下面是一个部署的 YAML 资源文件示例,你也可以根据自身实际情况修改。

代码语言:javascript
复制
# Create Service Account
apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kube-system
---
# Create ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: admin-user
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
  - kind: ServiceAccount
    name: admin-user
    namespace: kube-system
---
# Deploy Kubebox
apiVersion: apps/v1
kind: Deployment
metadata:
  name: kube-box
  namespace: kube-system
spec:
  strategy:
    type: Recreate
  selector:
    matchLabels:
      k8s-app: kube-box
  template:
    metadata:
      name: kube-box
      labels:
        k8s-app: kube-box
    spec:
      serviceAccountName: admin-user
      containers:
        - image: astefanutti/kubebox:server
          imagePullPolicy: Always
          name: kube-box
          ports:
            - containerPort: 8080
              protocol: TCP
---
# Expose kubebox service
kind: Service
apiVersion: v1
metadata:
  name:  kube-box-service
  namespace: kube-system
spec:
  ports:
    - port: 8080
      targetPort: 8080
      nodePort: 30001
  selector:
    k8s-app:  kube-box
  type: NodePort

部署完成后,你可以直接通过 Web 的方式对其进行访问,其默认访问地址为:http://<kubernetes-master-ip>:30001/。 如果你觉得部署太复杂,你也可以先通过官方的演示地址 https://kube.sh/ 提前体验下。

参考文档

  1. https://www.google.com
  2. https://www.jianshu.com/p/d7c3cae2214f
  3. https://blog.csdn.net/qq_21816375/article/details/90765673
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 奇妙的Linux世界 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装 KubeBox
    • 下载二进制文件
      • 运行 KubeBox
      • KubeBox 的基本使用
        • 1. KubeBox 常用操作方式
          • 2. 操作 Namespace
            • 3. 操作 Pod
              • 4. 操作容器
                • 5. Debug 选项
                • Kubebox Web 模式
                • 参考文档
                相关产品与服务
                容器服务
                腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档