|
|
|
|
公众号矩阵

值得推荐的九大Kubernetes仪表板工具

Kubernetes是当前主流的容器编排平台。本文为您列举并介绍了九大带有Web UI的Kubernetes仪表板工具,可方便您简化管理并提高排障能力。

作者:陈峻来源:51CTO|2021-10-18 09:00

【51CTO.com快译】基于Web的Kubernetes仪表板用户界面,通常被用来管理那些部署在Kubernetes集群中的、容器化应用的生命周期。通过仪表板,我们可以更加轻松地管理集群资源,并对容器化的应用进行故障排除。可以说,有了仪表板,我们不但可以获得那些在远程集群上运行的应用状态概览,获悉可能发生的潜在错误信息,而且能够创建或修改单个Kubernetes资源。

为了实现扩展部署,启动滚动更新,重新启动Pod,或使用向导去部署新的应用,目前,业界已出现了各种Kubernetes仪表板应用项目,我们统称为YAKD(Yet Another Kubernetes Dashboard)。本文将向您介绍各种适用于不同场景需求的仪表板应用,以方便您根据实际项目做出明智的选择。

1. Kubernetes Dashboard

作为默认的Kubernetes仪表板项目,kube-dashboard是最流行、也是最成熟的Kubernetes UI客户端。该Web仪表板不但能够展示远程Kubernetes集群上,正在运行的容器化应用,而且能够管理诸如:部署、服务、作业等主要Kubernetes资源。

具体而言,它可以为运维人员提供部署在Kubernetes集群中的如下特性:

  • 通过集中式的UI,方便团队管理Kubernetes
  • 通过简单的用户界面,来管理各种资源的状态
  • 通过对容器日志和指标的访问、以及SSH的连接等,进行故障排查

由于Kubernetes仪表板需要被安装在Kubernetes集群中,因此我们只有通过身份验证和授权,来实现良好的管理。不过,该仪表板所对应的设置过程并不简单,而且与与其他客户端相比,它能够按照标签过滤出的资源也较为有限,这可能会成为日常维护的痛点。

您可以按照如下操作命令,将该仪表板安装到远程Kubernetes集群上:

有关该项目的更多信息,请参阅如下外部链接:

  • Github存储库 - https://github.com/kubernetes/dashboard
  • 项目网站 - https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/

2. Lens

作为基于Electron的应用程序,Lens支持Windows、macOS和Linux。它最初是由Kontena开发的,不过在被Mirantis收购后,已作为开源项目(https://github.com/lensapp/lens)被发布了。

在某种程度上,Lens恰好与kube-dashboard截然相反,它是一个可以替代Kubectl 的客户端应用。除了能够与Kubernetes仪表板项目提供相似的功能,它还具有如下特性:

  • 定制化资源定义(CRD)管理:目前有些项目能够以插件的形式与Lens相集成,以快速访问各类信息,而无需任何Kubeclt命令。
  • 通过与Helm集成,它可轻松管理和部署任何版本的Helm
  • 实现与Kustomize资源的集成,并获悉其概况
  • 可作为Kubectl的替代,处置集群的设置,并运行Kubectl的任何命令

该项目虽然可以提供强大的GUI,但它需要特定的身份验证与授权管理,毕竟它不是一个一站式的工具。不过,对于那些由GitOps Operator自动部署的资源,该项目不但能够提供故障排除,而且可以轻松访问任何Kubernetes事件、日志和指标,以快速地识别出症结所在。

您可以按照如下操作命令,在MacOS上安装Lens:

有关该项目的更多信息,请参阅如下外部链接:

  • Github存储库 - https://github.com/lensapp/lens
  • 项目网站 - https://k8slens.dev/
  • Lens的扩展 - https://github.com/lensapp/lens-extensions

3. Octant

Octant是VMware Tanzu内置一个基于Web的开源工具。它旨在成为开发人员工具包中的一部分,以洞察Kubernetes群集的运行方式,并处置Kubernetes内部的复杂问题。Octant通过本地的Kubectl配置(即/.kube/config或KUBECONFIG的环境变量),自动连接到远程的Kubernetes集群上。

与Lens相比,Octant消耗的资源(尤其是内存)要少得多。与其他传统客户端类似,Octant也具有针对日志流和各种资源的图形显示功能,而且可以在集群之间自由切换。Octant的独特之处在于其插件系统。它允许您按需在自己的界面上,设计并添加插件。虽然这些都需要用到Go语言和插件系统的相关知识,但您可以完全按照您的方式,去自定义呈现给用户的体验。

您可以按照如下操作命令,在MacOS上安装 Octant:

有关该项目的更多信息,请参阅如下链接:

  • Github存储库 - https://github.com/vmware-tanzu/octant
  • 项目网站 - https://octant.dev/

4. Rancher

作为完整的企业级计算平台,Rancher可以在本地、云端或边缘处,运行Kubernetes集群。严格说来,Rancher并非真正意义的Kubernetes仪表板,不过它具有相似的功能。它不但可以管理Kubernetes资源的生命周期(而不仅仅是资源),而且能够收集容器化应用的日志和指标等。当然,Rancher也带有一个仪表板的UI,可用来轻松地访问任何Kubernetes集群,并快速获取其运行数据。

与其他集成方式不同的是,Rancher需要在远程集群上部署代理、或以云集成的方式,来管理Kubernetes。此外,它也可以为采用了强大的身份验证机制(如企业级的 LDAP)的团队,提供集中式的端点管理。

有关该项目的更多信息,请参阅如下链接:

  • Github存储库 - https://github.com/rancher/rancher
  • 项目网站 - https://rancher.com/

5. Kubevious

作为一个全新的、界面友好的Kubernetes仪表板,Kubevious可以更加智能地管理Kubernetes资源。Kubevious同样可以管理Kubernetes集群中任何资源的生命周期(其中包括:容器日志、指标、标签、描述等)。同时,它也具有对于已部署的容器化应用,进行故障排除等各种细节功能。

Kubevious既可以被部署在Kubernetes上,又可以作为集群外的独立应用被予以部署。与前面提到的Kubernetes仪表板和Octant类似,它可以充当任何集群的集中式端点管理。当然,Kubevious也有如下开创性的特性:

  • 以应用程序为中心,提供的集群和配置视图。即便是简单的应用,在被部署到Kubernetes上时,也需要不同的对象。这通常需要不同的命令,去罗列和聚合所有已创建的资源。Kubevious能够将每个资源链接到单个可扩展视图框中,以快速获得整个应用对象的概览。
  • 检测配置错误。它可以识别出许多配置错误的类型,其中包括:滥用标签、失效的端口等。
  • 可以通过定义各种验证规则和自定义规则,来实施DevOps最佳实践。
  • 可以识别共享配置,并显示不同的依赖对象。

Kubevious的一项特殊功能是,它能够查看在特定时间段内,已执行命令的报告。例如那些在Kubernetes集群上运行的、每一步操作的历史记录。当然,对于Kubevious而言,认证和授权同样是一个痛点,它往往需要借助外部管理。

您可以按照如下操作命令,在Kubernetes上安装Kubevious:

有关该项目的更多信息,请参阅如下链接:

  • Github存储库 - https://github.com/kubevious/kubevious
  • 项目网站 - https://kubevious.io/
  • Kubevious的功能列表 - https://github.com/kubevious/kubevious#cluster-and-configs-in-an-application-centric-view
  • 一个革命性的Kubernetes仪表板,可用于交叉检查和验证您的Kubernetes资源 - https://codefresh.io/kubernetes-tutorial/kubevious-kubernetes-dashboard/

6. Kubehelper

Kubehelper是一个崭新的项目。它旨在通过Kubernetes仪表板的UI,去简化各项与Kubernetes集群相关的日常任务。Kubehelper附带了一系列预安装的插件,可用于收集各个指标的运行状态,并在用户友好的UI中呈现出所有的内容,进而执行诸如CronJobs和shell等命令。

与Kubevious一样,Kubehelper可用于实施基于自定义CronJobs任务的DevOps最佳实践,并能够随着时间的变化,去跟踪它们。由于Kubehelper项目是模块化的,因此自定义规则不仅基于默认的Kubectl内置命令,还包含了所有自动安装的插件。

KubeHelper的安装步骤较其他工具有所不同,请按照GitHub项目上的说明,进行部署。

有关KubeHelper项目的更多信息,请参阅如下链接:

  • Github存储库 - https://github.com/KubeHelper/kubehelper
  • 预装插件列表 - https://github.com/KubeHelper/kubehelper/wiki/KubeHelper-utilities,-plugins-and-shells

7. Portainer

Portainer既可以使用自托管的Kubernetes,又能够采用诸如MicroK8s、K3s、K8s Native、OpenShift、AKS、EKS、以及DOKS等各种托管式的Kubernetes。它允许用户从单个Web UI处,同时管理多个集群,且并不限定使用何种编排器。Portainer直观的界面允许用户管理、监控和维护Kubernetes环境的各个方面。

目前,Portainer提供了日常管理多个Kubernetes集群所需的各项功能,其中包括:应用生命周期、日志访问、指标、以及配置文件版本等。凭借着其连接到LDAP的能力,该工具已成为任何需要身份验证和授权管理的企业级选择。

您可以按照如下操作命令,在Kubernetes上安装 Portainer:

有关该项目的更多信息,请参阅如下链接:

  • Github存储库 - https://github.com/portainer/portainer
  • 项目网站 - https://www.portainer.io/

8. Skooner

曾被称为K8dash的Skooner,是一个开源的实时Kubernetes仪表板项目。就功能而言,Skooner非常贴合Kubernetes仪表板的需求。它通过metrics-server来提取运行时(runtime)的指标,并能够在精致的仪表板界面中,展示诸如:部署、命名空间和服务等Kubernetes集群资源。

与其他Kubernetes仪表板不同,Skooner提供了三种不同的身份验证方法,它们分别是:服务帐户令牌、OpenID Connect(OIDC)、以及NodePort。

您可以按照如下操作命令,在Kubernetes上安装Skooner:

有关该项目的更多信息,请参阅如下链接:

  • Github存储库 - https://github.com/skooner-k8s/skooner
  • 项目网站 - https://skooner.io/

9. Kubenav

Kubenav是一种集移动(这是与上述工具的不同之处)、桌面和Web为一身的应用,可被用于管理Kubernetes集群,并获取资源状态的概览。

作为一个新兴的项目,Kubenav虽不像上面提到的其他项目那样完备,但是它拥有一支优秀的开发团队,能够快速地解决任何问题,并在新的版本中添加新的功能。正是由于该项目仍处于不断迭代的过程中,因此对于生产环境而言,其功能并不全面。不过,值得一提的是,它往往被大家作为一种按需使用的Kubernetes管理工具。

您可以按照如下操作命令,在MacOS上安装Kubenav:

有关该项目的更多信息,请参阅如下链接:

  • Github存储库 - https://github.com/kubenav/kubenav
  • 项目网站 - https://kubenav.io/

小结

在上文中,我们列出了九个带有Web UI的Kubernetes仪表板项目。当然,业界还有更多提供此类功能的命令行工具。您可以通过链接--https://kube-web-view.readthedocs.io/en/latest/alternatives.html,了解更多有关Kubernetes仪表板的其他替代方案。

原文标题:YAKD: Yet Another Kubernetes Dashboard,作者: Nicolas Giron

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

【编辑推荐】

  1. 美国国土安全部网络主管警告黑客越来越多地使用商业工具隐藏自己
  2. SAP ABAP工具详解
  3. Kubernetes 应用问题的通用排查思路
  4. 可为Windows 11补上任务栏拖放功能的一款小工具
  5. Kubernetes API 流量查看神器 - Mizu
【责任编辑:华轩 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

带你轻松入门 RabbitMQ

带你轻松入门 RabbitMQ

轻松入门RabbitMQ
共4章 | loong576

50人订阅学习

数据湖与数据仓库的分析实践攻略

数据湖与数据仓库的分析实践攻略

助力现代化数据管理:数据湖与数据仓库的分析实践攻略
共3章 | 创世达人

14人订阅学习

云原生架构实践

云原生架构实践

新技术引领移动互联网进入急速赛道
共3章 | KaliArch

42人订阅学习

视频课程+更多

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微