☰
Devtron Kubernetes Client 安装与使用指南:轻量级跨集群 Kubernetes 控制台
2026/10/14 18:42:47 网站建设 项目流程
  • 云原生
  • DevOps
  • 运维

【免费下载链接】devtron

The only Kubernetes dashboard you need

项目地址:https://gitcode.com/gh_mirrors/dev/devtron
点击查看免费下载

Devtron Kubernetes Client 是 Devtron 提供的一款极轻量的 Kubernetes 控制台,可安装在 arm64/amd64 架构的任意桌面操作系统上,以独立二进制的形式运行在 Kubernetes 集群之外,通过 API Server 与所有集群交互。本文以官方安装文档为主体,结合本仓库源码(api/k8s/application/k8sApplicationRouter.go、docs/user-guide/resource-browser.md 等)深入讲解其安装命令、Resource Browser 与 Cluster Management 两大核心能力,以及完整的外围运维命令,帮助你在不依赖 kubectl 版本管理的情况下,获得跨集群的 Kubernetes 资源可见性与故障排查能力。

Devtron Kubernetes Client 是什么

Devtron Kubernetes Client 是一个直观的 Kubernetes 仪表盘(Dashboard)或命令行工具,安装位置在 Kubernetes 集群外部(例如你的本地桌面),通过 API Server 与所有 Kubernetes 集群和工作负载交互。它是一个打包在 bash 脚本中的二进制程序,下载后即可通过若干条命令完成安装、启动、更新与停止。

安装 Devtron Kubernetes Client 之后,你可以直接获得两大核心能力:

  • Kubernetes Resource Browser:以图形化界面查看和管理跨集群的全部 Kubernetes 资源;
  • Cluster Management(集群管理):观测集群健康状态、节点实时状况并执行节点级运维操作。

从仓库源码看,这两大能力背后对应的是同一套 K8s API 服务层。以 api/k8s/application/k8sApplicationRouter.go 为例,其路由覆盖了资源列表、资源创建、资源删除、事件查看、Pod 日志、Pod 终端会话等全部能力:

/resource/list 列出集群资源 /resources/apply 创建 / 应用多个 K8s 资源 /resource/delete 删除资源 /events 查看资源事件 /pods/logs/{podName} 实时查看 Pod 日志 /pods/logs/download/{podName} 下载 Pod 日志 /pod/exec/session/{identifier}/{namespace}/{pod}/{shell}/{container} 建立终端会话 /api-resources/{clusterId} 按集群获取 API 资源类型 /api-resources/gvk/{clusterId} 按集群获取 GroupVersionKind

这意味着你在界面上的每一次操作(查看日志、编辑 Manifest、进入终端、删除资源)最终都通过上述 REST 接口与集群 API Server 交互,Client 本身不需要在集群内安装任何 Agent 即可工作——这正是它"运行在集群外部"的架构基础。

使用 Devtron Kubernetes Client 的优势

大规模 Kubernetes 资源管理

不同业务和架构需求下,组织往往倾向于构建较小的集群以实现更彻底的分散化,这导致集群数量与节点数量持续增加。在 CLI 上管理这些集群通常需要维护多份配置文件,资源操作变得困难。而 Devtron Kubernetes Client 可以在一个统一的界面中获得对 K8s 资源的清晰可见性,从源码结构看,其对应的服务实现集中在 pkg/k8s(含K8sCommonService.go、application、capacity等子模块),为多集群资源聚合提供了底层支撑。

信息统一、配置单一来源

当信息分散在多个集群中,且必须输入带参数的命令才能获取期望输出时,流程会变得缓慢且易出错。没有单一配置源时,不同配置文件之间的配置会发生分叉,恢复与追踪难度更大。Devtron Kubernetes Client 将所有信息与工具统一到同一界面,用于执行各种上下文相关的任务。

集群故障时的可访问性

由于 Devtron Kubernetes Client 运行在集群外部,当发生集群级故障时,你仍然可以对故障资源施加基本控制,收集关键日志与数据以定位根因,缩短服务恢复时间。这正是"运行在集群外"架构的核心价值:故障隔离不失效。

免除 Kubeconfig 版本不匹配问题

使用 Devtron Kubernetes Client 无需再为不同集群分别维护 Kubeconfig 版本(Kubernetes v1.16 - 1.26,即当前版本),Client 会进行自我的 kubeconfig 版本控制。相比手动管理多个 kubectl 版本,它从根本上消除了配置不匹配导致的错误。

安装 Devtron Kubernetes Client

步骤 1:下载安装脚本

使用以下 URL 下载 bash 脚本:

https://cdn.devtron.ai/k8s-client/devtron-install.bash

步骤 2:启动 Client

要自动下载可执行文件并在对应浏览器中打开仪表盘,执行:

sh devtron-install.bash start

注意:执行命令前,请确保devtron-install.bash位于当前目录中。

执行后,Devtron Kubernetes Client 会自动在你的浏览器中打开。

步骤 3:添加集群

你需要先添加集群,才能让集群在Kubernetes Resource Browser和Clusters区域可见。添加方式:进入Global Configurations(全局配置),点击Add Cluster(添加集群)。

详细步骤参考:集群与环境配置文档。该文档提供了两种添加方式:

  • 使用 Server URL 与 Bearer Token:填写Name(集群名称)、Server URL(集群服务地址,推荐使用自托管 URL 而非云托管 URL)、Bearer Token(集群令牌);
  • 使用 Kubeconfig:选择From kubeconfig选项,粘贴或浏览选择 kubeconfig 文件,点击Get cluster获取集群详情后选中并Save。

注意:如果安装的是 Devtron Kubernetes Client,则无需super admin权限即可添加集群,而且可以添加多个集群。这与完整版 Devtron(需要 super admin 权限,见 cluster-and-environments.md 开头说明)不同,是 Client 模式下的一个重要差异点。

Kubernetes Resource Browser(资源浏览器)

Kubernetes Resource Browser为跨集群的所有 Kubernetes 资源提供了图形化交互与管理界面。它不仅帮助部署和管理 Kubernetes 资源,还支持以下 Pod 级操作:

  • 查看实时日志
  • 查看 Manifest,并编辑 K8s 资源的在线 Manifest
  • 通过终端执行命令
  • 查看事件(Events)
  • 删除资源

此外,你还可以通过 Resource Browser 完成:

  • 检查资源的实时健康状态
  • 搜索任意工作负载
  • 管理多个集群并切换集群上下文(context)
  • 通过CreateUI 选项一次部署多个 K8s Manifest
  • 在集群层面进行资源分组(resource grouping)

使用前提

通过Global Configurations添加集群后,进入Kubernetes Resource Browser页面并选择你的集群即可。详细操作说明见 Resource Browser 文档。该文档进一步补充了 Resource Browser 的完整能力矩阵:

  • 资源发现:通过搜索框定位资源;可使用标签、字段选择器或 CEL 表达式过滤工作负载;
  • 编辑 Manifest:直接编辑 Kubernetes 对象的在线 Manifest(用于修复错误、扩缩容、变更配置);
  • 查看事件:监控资源的创建、删除、更新、扩缩容及错误等活动;
  • 删除资源:删除孤立且不再需要的资源;
  • 创建资源:使用 YAML 创建一个或多个 Kubernetes 对象,多个对象用---分隔。例如:
apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment labels: app: nginx spec: replicas: 2 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.14.2 ports: - containerPort: 80
  • Pod 操作:查看/编辑 Manifest、查看事件、查看并下载日志、通过终端进入容器(容器崩溃或镜像缺少调试工具时,还可启动临时容器 ephemeral container 进行调试)。

从底层实现看,上述操作与 api/k8s/application/k8sApplicationRouter.go 中注册的/resource/list、/resources/apply、/events、/pods/logs/{podName}、/pod/exec/session/...、/resources/ephemeralContainers等路由一一对应,说明 Resource Browser 是一个功能完整、可直接调用的 REST 能力集合。

注意:安装 Devtron Kubernetes Client 后,访问Kubernetes Resource Browser同样无需super admin权限。

Cluster Management(集群管理)

借助 Devtron Kubernetes Client,你可以管理所有运行在本地(on-premises)或云上的集群。它是一个集群与云厂商无关的平台,可添加任意数量的集群——无论是 k3s / microk8s 这样的轻量级集群,还是 Amazon EKS 等云托管集群。

集群管理功能支持:

  • 观测并监控集群健康状态与节点的实时状况;
  • 提供节点摘要,包含所有标签(labels)、注解(annotations)、污点(taints)以及资源使用情况等参数。

在此基础上,还可以执行以下节点操作:

  • Debug a node:调试节点
  • Cordon a node:封锁节点(标记为不可调度)
  • Drain a node:排空节点(安全驱逐 Pod)
  • Taint a node:给节点添加污点
  • Edit a node config:编辑节点配置
  • Delete a node:删除节点

以 docs/user-guide/resource-browser.md 中的说明为参照,节点操作的具体语义如下:

操作说明
Cordon使节点不可调度,封锁后新 Pod 无法调度到该节点,节点状态显示SchedulingDisabled;Uncordon 可恢复
Drain排空前安全驱逐节点上所有 Pod,容器可优雅终止并遵循PodDisruptionBudgets;支持配置 Grace Period(优雅终止秒数)、删除 emptyDir 数据、强制排空、忽略 DaemonSet 等选项
Taint为节点添加key:value污点并选择 effect,将排斥除带对应容忍度(toleration)之外的所有 Pod
Edit config以 YAML 编辑器直接修改节点配置,支持 Review & Save 对比变更后应用

借助集群终端访问(Cluster Terminal),你还可以在界面中直接使用 busybox、kubectl、netshoot 等 CLI 调试工具,或 k9s 等自定义 CLI 工具来调试集群。详见 集群终端访问说明。

注意:与 Resource Browser 类似,添加集群后进入Clusters页面即可搜索或选择你的集群。详细操作见 Clusters 文档。

常用外围命令

除启动命令start外,devtron-install.bash还提供以下运维命令:

重新打开仪表盘

如果不小心关闭了浏览器,可执行以下命令重新打开仪表盘。它会通过一个端口在可用浏览器中打开仪表盘,并保留 Kubernetes Client 的状态:

sh devtron-install.bash open

停止仪表盘

要停止仪表盘,执行:

sh devtron-install.bash stop

升级 Client

要升级 Devtron Kubernetes Client,执行以下命令。它会先停止正在运行的仪表盘,下载最新可执行文件,然后在浏览器中重新打开:

sh devtron-install.bash upgrade

总结

Devtron Kubernetes Client 以"集群外轻量二进制 + bash 脚本驱动"的方式,为跨集群资源管理提供了低门槛的入口:

  1. 安装极简:下载 devtron-install.bash 后,执行sh devtron-install.bash start即可启动;open/stop/upgrade三个外围命令覆盖了日常运维场景;
  2. 权限门槛低:Client 模式下添加集群、访问 Resource Browser 均无需super admin权限,可自由接入多个集群;
  3. 能力完整:Resource Browser 覆盖资源搜索、Manifest 编辑、事件查看、日志查看/下载、终端与临时容器调试、批量创建资源;Cluster Management 覆盖节点观测、封锁、排空、污点、配置编辑与删除,并可经由集群终端使用各类 CLI 工具排查问题;
  4. 免除版本焦虑:Client 自管 kubeconfig 版本,规避多集群 kubectl 版本不匹配问题。

对于需要在多集群、多云环境下获得统一可见性与故障排查能力的团队,这是一个值得评估的轻量方案。进一步深入可阅读仓库中的 Resource Browser 完整文档 与 集群与环境配置文档,或直接查看其 REST 服务层实现 api/k8s/application/k8sApplicationRouter.go 了解能力边界。

  • 云原生
  • DevOps
  • 运维

【免费下载链接】devtron

The only Kubernetes dashboard you need

项目地址:https://gitcode.com/gh_mirrors/dev/devtron
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询