Helm Dashboard — Kubernetes 中管理 Helm 版本的 GUI
Helm Dashboard 通过提供图形用户界面,使在 Kubernetes 中管理 Helm 版本变得更加容易,这是许多开发人员所期望的。它可用于在 Kubernetes 中创建、部署和更新应用程序的版本,并跟踪其状态。
本文将探讨 Helm Dashboard 提供的特性和优势,并解释如何使用它来促进 Kubernetes 应用程序管理。我们将介绍它的基本功能和用户界面,并展示一些实际示例。
什么是 Helm 仪表板?
Helm Dashboard 是一个用于 Helm 的开源 GUI,由 Komodor 开发,并被其作者描述为“Helm 缺失的 UI”。您可能知道,Helm 是某种 Kubernetes 包管理器。它简化了在 Kubernetes 中安装应用程序(通过称为 Helm 图表的包)和管理其版本的过程。安装 Helm 图表后,它在 Kubernetes 集群中运行的实例称为 Helm 版本。
Helm Dashboard 提供了一个 Web UI,用于浏览和管理(例如,修改或删除)这些版本。该项目诞生于 2022 年 8 月,并于 2023 年 2 月宣布随其 v1.0.0 正式发布。目前(截至 2023 年 12 月),其最新版本是 v1.3.3,于 2023 年 6 月发布,其 GitHub 存储库拥有近 4500 Stars 和 40 多名贡献者。它是用 TypeScript(Node.js)和 Go 编写的。
安装 Helm Dashboard
项目存储库中的官方文档提出了几种安装 Helm Dashboard 的方法。您可以:
- 下载带有预构建可执行文件的存档。
- 将其安装为 Helm 插件。
- 使用 chart 将其安装在 K8s 集群中(这也将创建一个 Ingress 资源)。
- 自行从源代码生成可执行文件。
在本文中,我们将坚持使用第二个选项——Helm 插件。要安装插件,您需要安装 Helm v3.4.0+ 并执行以下命令:
helm plugin install https://github.com/komodorio/helm-dashboard.git
请注意,插件需要调用配置文件来访问 Kubernetes 集群(K8s 文档详细介绍了这个主题)。kubeconfig
要运行该插件,请输入您的终端:
helm dashboard
默认情况下,这将在浏览器中打开一个 Web UI,显示 Helm 版本的概述页面。
Helm 仪表板功能
页面顶部显示的是“已安装”和“存储库”选项卡。这些是我们将使用的主要选项卡。让我们更详细地看一下它们。
管理已安装的 Helm 版本
通过“已安装”选项卡,您可以查看已安装的版本,并通过选择特定的 Kubernetes 集群和所需的命名空间来筛选它们:
单击任何版本以查看有关其的详细信息。
如果发布被列为失败,则会显示一条错误消息。它将说明版本安装失败的原因:
如果版本安装成功,仪表板将显示相关 Kubernetes 资源的列表。
我们以 zookeeper-operator-dev 版本为例:
页面左侧显示的修订版本是系统在群集中找到的版本的状态。
我们的主要关注点将设置在页面主要部分的“资源”和“清单”选项卡上。
释放资源
“资源”选项卡列出了版本中的资源。每个资源都有一个“描述”按钮。单击一个以查看资源摘要:
如您所见,资源描述是常规输出。kubectl describe
在某些情况下,“描述”按钮旁边也可能有一个“扫描”按钮:
如果安装了 Trivy,它就可用了。此工具扫描容器并检测漏洞和潜在威胁。
单击“扫描”按钮开始扫描资源。它将以如下报告结束:
发布清单
“清单”选项卡显示发行版中的资源清单。您可以从群集中现有的清单中选择任何清单:
随后出现的窗口将有两个选项卡:
- 与先前版本的差异显示了当前版本和先前版本之间的差异。
- 具有特定修订版的差异显示了当前版本和特定版本之间的差异。
例如,以下是当前版本与版本 3 之间的区别,后者无法部署:
释放操作
您可以从集群中升级、回滚或删除任何版本。“已安装”页面上的“重新配置”、“回滚”和“卸载”按钮就是这样做的:
下面是升级窗口的屏幕截图:
管理 Helm 存储库
通过“存储库”窗口,可以管理本地安装的 Helm 存储库。同时,左侧面板显示存储库列表:
您可以选择一个存储库并浏览它附带的 Helm 图表。您可以执行的其他操作包括:
- 添加存储库;
- 更新存储库;
- 删除存储库。
存储库中可用的 Helm 图表可以安装到 Kubernetes 集群中。但首先,您必须填写图表值。为此,请单击图表名称旁边的“安装”按钮。这将导致弹出以下窗口:
Helm Dashboard 的优势和微妙之处
现在我们已经了解了 Helm Dashboard 的主要功能,是时候指出其中我最喜欢的功能了:
- Helm Dashboard 可以安装在本地,也可以使用 chart 安装在集群中。
- 您可以查看集群中安装的 Helm 图表并检查其发布历史记录。
- diff 功能显示发布版本之间的差异。
- 您可以回滚或更新它。
- 在本地安装时,您可以浏览多个集群中的版本。
- Helm Dashboard 可以与漏洞扫描程序集成。
- 用户界面直观且使用愉快。
至于 Helm Dashboard 的特殊性,值得注意的是它的 UI 会影响 Kubernetes API 服务器。启动该工具时,服务请求释放机密,从而导致 CPU 利用率增加。例如,这是 Helm 仪表板请求发布机密之前的群集状态:
在这里,您可以看到运行 Helm Dashboard 之前的典型集群状态:CPU 使用率、请求的 K8s 资源以及频率。
下面是 Helm Dashboard 启动请求发布密钥后的集群状态:
从这些图中我们可以看出,随着秘密资源被主动检索,CPU 利用率也有所增加。
结论
我相信 Helm Dashboard 是一个方便的 Web UI,用于在 Kubernetes 中查看和管理 Helm 版本。我特别喜欢 diff 函数,它允许您将版本相互比较。
该工具的简约、舒适和整洁的界面给人留下了愉快的印象。在使用测试集群时,它将作为开发团队的天赐之物,并帮助他们找出问题所在并快速修复它。
相关文章:

Helm Dashboard — Kubernetes 中管理 Helm 版本的 GUI
Helm Dashboard 通过提供图形用户界面,使在 Kubernetes 中管理 Helm 版本变得更加容易,这是许多开发人员所期望的。它可用于在 Kubernetes 中创建、部署和更新应用程序的版本,并跟踪其状态。 本文将探讨 Helm Dashboard 提供的特性和优势&am…...
【Guava笔记01】Guava Cache本地缓存的常用操作方法
这篇文章,主要介绍Guava Cache本地缓存的常用操作方法。 目录 一、Guava Cache本地缓存 1.1、引入guava依赖 1.2、CacheBuilder类 1.3、Guava-Cache使用案例...

Flink(十三)【Flink SQL(上)SqlClient、DDL、查询】
前言 最近在假期实训,但是实在水的不行,三天要学完SSM,实在一言难尽,浪费那时间干什么呢。SSM 之前学了一半,等后面忙完了,再去好好重学一遍,毕竟这玩意真是面试必会的东西。 今天开始学习 Flin…...

Labview局部变量、全局变量、引用、属性节点、调用节点用法理解及精讲
写本章前想起题主初学Labview时面对一个位移台程序,傻傻搞不清局部变量和属性节点值有什么区别,概念很模糊。所以更新这篇文章让大家更具象和深刻的去理解这几个概念,看完记得点赞加关注喔~ 本文程序源代码附在后面,大家可以自行下…...
openssl3.2 - 官方demo学习 - signature - EVP_ED_Signature_demo.c
文章目录 openssl3.2 - 官方demo学习 - signature - EVP_ED_Signature_demo.c概述笔记END openssl3.2 - 官方demo学习 - signature - EVP_ED_Signature_demo.c 概述 ED25519 签名/验签算法, 现在是最好的. 产生ED25519私钥/公钥 用私钥对明文签名, 得到签名数据 用公钥对明文…...
AI辅助编程工具—Github Copilot
一、概述 Copilot是一种基于Transformer模型的神经网络,具有12B个参数。是GitHub和OpenAPI共同开发的编程辅助工具。GitHubCopilot是一款由人工智能驱动的结对编程编辑器,旨在帮助开发人员更加高效地工作。它利用OpenAICodex技术,将开发…...

三大3D引擎对比,直观感受AMRT3D渲染能力
作为当前热门的内容呈现形式,3D已经成为了广大开发者、设计师工作里不可或缺的一部分。 用户对于3D的热衷,源于其带来的【沉浸式体验】和【超仿真视觉效果】。借此我们从用户重点关注的四个3D视觉呈现内容: 材质- 呈现多元化内容水效果- 展…...

k8s之对外服务ingress
一、service 1、service作用 ①集群内部:不断跟踪pod的变化,不断更新endpoint中的pod对象,基于pod的IP地址不断变化的一种服务发现机制(endpoint存储最终对外提供服务的IP地址和端口) ②集群外部:类似负…...

Ubuntu使用docker-compose安装mysql8或mysql5.7
ubuntu环境搭建专栏🔗点击跳转 Ubuntu系统环境搭建(十四)——使用docker-compose安装mysql8或mysql5.7 文章目录 Ubuntu系统环境搭建(十四)——使用docker-compose安装mysql8或mysql5.7MySQL81.新建文件夹2.创建docke…...

【办公类-21-02】20240118育婴员操作题word打印2.0
作品展示 把12页一套的操作题批量制作10份,便于打印 背景需求 将昨天整理的育婴师操作题共享, 因为题目里面有大量的红蓝颜色文字,中大班办公室都是黑白单面手动翻页打印。只有我待的教务室办公室有彩色打印机打印(可以自动双面…...

SpringMVC 文件上传和下载
文章目录 1、文件下载2、文件上传3. 应用 Spring MVC 提供了简单而强大的文件上传和下载功能。 下面是对两者的简要介绍: 文件上传: 在Spring MVC中进行文件上传的步骤如下: 在表单中设置 enctype“multipart/form-data”,这样…...

强缓存、协商缓存(浏览器的缓存机制)是么子?
文章目录 一.为什么要用强缓存和协商缓存?二.什么是强缓存?三.什么是协商缓存?四.总结 一.为什么要用强缓存和协商缓存? 为了减少资源请求次数,加快资源访问速度,浏览器会对资源文件如图片、css文件、js文…...
android 13.0 Camera2 去掉后置摄像头 仅支持前置摄像头功能
1.概述 在定制化13.0系统rom定制化开发中,当产品只有一个前置摄像头单摄像头,这时调用相机时就需要默认打开前置摄像头就需要来看调用摄像头这块的代码,屏蔽掉后置摄像头的调用api就可以了,接下来就来具体实现相关功能的开发 2.Camera2 去掉后置摄像头 仅支持前置摄像头功…...

【蓝桥杯EDA设计与开发】立创开源社区分享的关于蓝桥被EDA真题与仿真题的项目分析
立创开源社区内有几个项目分享了往年 EDA 设计题目与仿真题,对此展开了学习。 【本人非科班出身,以下对项目的学习仅在我的眼界范围内发表意见,如有错误,请指正。】 项目一 来源:第十四届蓝桥杯EDA赛模拟题一 - 嘉立…...

电影《潜行》中说的蜜罐是什么(网络安全知识)
近期刘德华、彭于晏主演的电影《潜行》在网上掀起了轩然大波,电影中有提到网络蜜罐,这引起了很多观众的疑问,蜜罐到底是什么? 从字面意思上来看,蜜罐就是为黑客设下的诱饵。这是一种具有牺牲性质的计算机系统ÿ…...

基于 UniAPP 社区论坛项目多端开发实战
社区论坛项目多端开发实战 基于 UniAPP 社区论坛项目多端开发实战一、项目准备1.1 ThinkSNS 简介及相关文档1.2 使用 UniAPP 构建项目1.3 构建项目文件结构1.4 配置页面 TabBar 导航1.5 使用 npm 引入 uView UI 插件库 二、首页功能实现2.1 首页 header 广告位轮播图功能实现2.…...

Ubuntu 22.04 安装MySql
MySQL是非常常用的关系型数据库,无论是大厂还是小厂,都有它的身影。最大的优点是免费,安装起来也比较简单。 MySQL的架构 画了个简图,描述了下MySQL的架构。 其中的比较有趣的点在于连接池和存储引擎。连接池缓存了数据库和客户端的TCP连接,以减少建立连接的开销。存储引…...
Centos常用命令整理,常用的比较全了
目 录 1、更改文件拥有者 2、修改权限 3、修改⽂件⽇期 4、链接⽂件 5、⽇期操作 6、显⽰⽇历 7、显⽰⽂件头部 8、显⽰⽂件尾部 9、显⽰⽤户标识 10、查看当前登录的⽤户 11、显⽰都谁登录到机器上 12、显⽰当前终端上的⽤户名 13、寻找⽂件…...

专业137总分439东南大学920专业基础综合考研经验电子信息与通信电路系统芯片
我本科是南京信息工程大学,今年报考东南大学信息学院,成功逆袭,专业137,政治69,英语86,数一147,总分439。以下总结了自己的复习心得和经验,希望对大家复习有一点帮助。啰嗦一句&…...

C++总结笔记
1. 简介 1、面向对象程序设计 面向对象的四大特性 1)封装 2)继承 3)多态 4)抽象 2、标准库 标准C由三个部分组成 1)核心语言:提供了所有的构件块 2)C标准库:提供了大量的函…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...

dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。 一,模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
06 Deep learning神经网络编程基础 激活函数 --吴恩达
深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...
腾讯云V3签名
想要接入腾讯云的Api,必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口,但总是卡在签名这一步,最后放弃选择SDK,这次终于自己代码实现。 可能腾讯云翻新了接口文档,现在阅读起来,清晰了很多&…...