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标准库:提供了大量的函…...

数据库重点简答题
文章目录(持续更新) 数据库重点简答题📣一、SQL语言的作用?📣二、说一下你对ER图的认识?📣三、数据库中的三个模型?📣四、数据库基本表和视图的区别和联系?&a…...

Cmake(1)——Cmake的基本介绍和原理、Cmake的安装、如何使用Cmake构建项目
Cmake的基本介绍和原理、Cmake的安装、如何使用Cmake构建项目 插播!插播!插播!亲爱的朋友们,我们的Cmake课程上线啦!感兴趣的小伙伴可以去下面的链接学习哦~ https://edu.csdn.net/course/detail/39261 1、Cmake的基…...

Spring Boot程序的打包与运行:构建高效部署流程
引言 在现代应用开发中,高效的打包和部署流程对于项目的开发、测试和上线至关重要。Spring Boot作为一种快速开发框架,提供了方便的打包工具和内嵌式的Web服务器,使得打包和运行变得更加简单。本文将研究在Spring Boot应用中如何进行打包&am…...

【Linux取经路】初探进程地址空间
文章目录 一、历史问题回顾二、语言层面的地址空间2.1 验证 三、虚拟地址的引入3.1 初步解释这种现象——引入地址空间的概念3.2 再来粗粒度理解上面的现象 四、细节解释4.1 地址空间究竟是什么?4.2为什么要有地址空间4.3 页表4.3.1 CR3寄存器4.3.2 页表是由页表项组…...

.net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
像java使用autowrite一样使用 1、前提先注册到ioc容器当中 builder.Services.AddScoped 2、nuget引入AutoWrite4Net 3、启用 //启用自动注入 app.UseAutoWrite(); 4、在类上使用注解 [StartAutoWrite] public class NacosController : ControllerBase 5、实例上使用注解 …...

LeetCode、2300. 咒语和药水的成功对数【中等,排序+二分】
文章目录 前言LeetCode、2300. 咒语和药水的成功对数【中等,排序二分】题目及类型思路及代码 资料获取 前言 博主介绍:✌目前全网粉丝2W,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、专注于Java后端技术领域…...

【MyBatis-Plus】逻辑删除
对于一些比较重要的数据,我们通常采用逻辑删除。(即用一个字段表示是否删除,实际上始终在数据库没有被删除) 当逻辑删除字段为 true,业务处理的时候会自动把该数据当做一个“不存在”的数据处理。(即不处理…...

Rust基础语法1
所有权转移,Rust中没有垃圾收集器,使用所有权规则确保内存安全,所有权规则如下: 1、每个值在Rust中都有一个被称为其所有者(owner)的变量,值在任何时候只能有一个所有者。 2、当所有者离开作用域…...

【算法基础 数学】快速幂
题目描述 给定 n n n组 a i , b i , p i a_i,b_i,p_i ai,bi,pi,对于每组数据,求出 a i b i m o d p i a_i^{b^i}~mod~p_i aibi mod pi 的值。 样例 输入样例: 2 3 2 5 4 3 9输出样例: 4 1快速幂解决的问题 用来…...

2024年华为OD机考高分攻略-完整题库-两周350分
华为OD是个不错的机会,很适合非软件行业到软件行业的转身。 但是很多同学之前没有软件基础,不知道该如何高效的准备OD机考。 我是一名软件培训老师,我的学生有上百人顺利通过了华为OD机考,并取得了高分,我将经验分享…...