当前位置: 首页 > 科技观察

推荐九款Kubernetesdashboard工具

时间:2023-03-20 12:21:01 科技观察

【.com速译】基于Web的Kubernetesdashboard用户界面,通常用于管理部署在Kubernetes集群中的容器化应用程序的生命周期。通过仪表板,我们可以更轻松地管理集群资源和排查容器化应用程序的问题。可以说,有了仪表板,我们不仅可以概览远程集群上运行的应用程序状态,了解可能发生的潜在错误信息,还可以创建或修改单个Kubernetes资源。为了实现扩展部署、启动滚动更新、重启pod,或者使用向导部署新应用,业界涌现了各种Kubernetes仪表盘应用项目,我们统称为YAKD(YetAnotherKubernetesDashboard)。本文将为您介绍适用于不同场景的各种仪表盘应用,让您根据实际项目做出明智的选择。1.KubernetesDashboard作为默认的Kubernetesdashboard项目,kube-dashboard是最流行和最成熟的KubernetesUI客户端。WebDashboard不仅可以显示远程Kubernetes集群上正在运行的容器化应用程序,还可以管理部署、服务和作业等主要Kubernetes资源。具体来说,它可以为运维人员提供以下部署在Kubernetes集群中的特性:通过集中的UI,方便团队管理Kubernetes通过简单的用户界面,管理各种资源的状态通过控制容器日志和指标Access,以及SSH连接等,用于排错由于Kubernetes集群中需要安装Kubernetesdashboard,所以我们只能通过认证授权来实现良好的管理。但是dashboard对应的设置过程并不简单,而且相对于其他客户端而言,能够通过标签过滤资源的方式相对有限,这可能成为日常维护的一个痛点。您可以通过以下命令在远程Kubernetes集群上安装仪表板:有关该项目的更多信息,请参考以下外部链接:Github存储库-https://github.com/kubernetes/dashboard项目网站-https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/2。作为基于Electron的应用程序,Lens支持Windows、macOS和Linux。它最初由Kontena开发,但在被Mirantis收购后作为开源项目发布(https://github.com/lensapp/lens)。在某种程度上,Lens与kube-dashboard完全相反,kube-dashboard是一个可以替代Kubectl的客户端应用程序。除了提供与Kubernetesdashboard项目类似的功能外,它还具有以下特点:CustomResourceDefinition(CRD)管理:目前部分项目可以以插件的形式与Lens集成,无需任何资源即可快速访问各种信息。Kubeclt命令。通过与Helm集成,可以轻松管理和部署任何版本的Helm。实现与Kustomize资源的整合,了解其概况。它可以用作Kubectl的替代品,处理集群的设置,并运行Kubectl的任何命令。项目虽然可以提供强大的GUI,但是需要具体的认证和授权管理,毕竟不是一站式的工具。然而,对于那些由GitOpsOperator自动部署的资源,该项目不仅提供故障排除,还提供对任何Kubernetes事件、日志和指标的轻松访问,以快速识别问题。您可以通过以下命令在MacOS上安装Lens:有关该项目的更多信息,请参考以下外部链接:Github存储库-https://github.com/lensapp/lens项目网站-https://k8slens.dev/镜头扩展-https://github.com/lensapp/lens-extensions3。OctantOctant是VMwareTanzu中内置的基于Web的开源工具。它旨在成为开发人员工具包的一部分,以深入了解Kubernetes集群的运行方式并处理Kubernetes内部的复杂性。Octant通过本地Kubectl配置(即/.kube/config或KUBECONFIG环境变量)自动连接到远程Kubernetes集群。Octant消耗的资源(尤其是内存)比Lens少得多。与其他传统客户端类似,Octant也有日志流和各种资源的图形化展示功能,可以自由切换集群。Octant的独特之处在于它的插件系统。它允许您根据需要在自己的界面上设计和添加插件。虽然所有这些都需要了解Go语言和插件系统,但您可以完全按照自己的方式自定义呈现给用户的体验。您可以按照以下命令在MacOS上安装Octant:有关该项目的更多信息,请参考以下链接:Github存储库-https://github.com/vmware-tanzu/octant项目网站-https://octant.开发/4。Rancher作为一个完整的企业计算平台,Rancher可以在本地、云端或边缘运行Kubernetes集群。严格来说,Rancher并不是真正的Kubernetes仪表板,但它具有类似的功能。它不仅可以管理Kubernetes资源(不仅仅是资源)的生命周期,还可以收集容器化应用的日志和指标。当然,Rancher还附带了一个仪表板UI,可用于轻松访问任何Kubernetes集群并快速获取其运行数据。与其他集成方式不同,Rancher需要在远程集群上部署代理,或者以云集成的方式来管理Kubernetes。此外,它还可以为使用企业级LDAP等强大身份验证机制的团队提供集中式端点管理。有关该项目的更多信息,请参考以下链接:GithubRepository-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。KubehelperKubehelper是一个全新的项目。它旨在通过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-shells7。PortainerPortainer既可以使用自托管Kubernetes,也可以使用各种托管Kubernetes,例如MicroK8s、K3s、K8sNative、OpenShift、AKS、EKS和DOKS。它允许用户从单个WebUI同时管理多个集群,并且不限制使用哪个编排器。Portainer直观的界面允许用户管理、监控和维护Kubernetes环境的各个方面。目前,Portainer提供了多个Kubernetes集群日常管理所需的各种功能,包括:应用生命周期、日志访问、指标、配置文件版本等。凭借其对接LDAP的能力,该工具已成为企业级的选择适用于任何需要认证和授权管理的企业。您可以通过以下命令在Kubernetes上安装Portainer:有关该项目的更多信息,请参考以下链接:Github存储库-https://github.com/portainer/portainer项目网站-https://www.portainer.io/8。Skooner,前身为SkoonerforK8dash,是一个开源的实时Kubernetes仪表盘项目。在功能上,Skooner非常符合Kubernetes仪表盘的需求。它使用metrics-server提取运行时(runtime)指标,可以在精美的dashboard界面中展示deployment、namespace、service等Kubernetes集群资源。与其他Kubernetes仪表板不同,Skooner提供三种不同的身份验证方法:服务帐户令牌、OpenIDConnect(OIDC)和NodePort。您可以通过以下命令在Kubernetes上安装Skooner:有关该项目的更多信息,请参考以下链接:GithubRepository-https://github.com/skooner-k8s/skooner项目网站-https://skooner。IO/9。KubenavKubenav是一个移动(这是与上述工具的区别)、桌面和Web应用程序,可用于管理Kubernetes集群并获得资源状态概览。作为一个新兴项目,Kubenav不像上面提到的其他项目那么完整,但它有一个优秀的开发团队,可以快速解决任何问题并在新版本中添加新功能。正是因为该项目还在不断的迭代过程中,对于生产环境来说还不能完全发挥作用。不过,值得一提的是,它经常被用作按需使用的Kubernetes管理工具。您可以通过以下命令在MacOS上安装Kubenav:有关该项目的更多信息,请参考以下链接:Github存储库-https://github.com/kubenav/kubenav项目网站-https://kubenav。io/Summary上面,我们列出了九个带有WebUI的Kubernetes仪表板项目。当然,业界还有更多提供此类功能的命令行工具。您可以通过链接了解更多关于Kubernetes仪表板的其他替代方案-https://kube-web-view.readthedocs.io/en/latest/alternatives.html。原标题:YAKD:YetAnotherKubernetesDashboard,作者:NicolasGiron