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 函数,它允许您将版本相互比较。

该工具的简约、舒适和整洁的界面给人留下了愉快的印象。在使用测试集群时,它将作为开发团队的天赐之物,并帮助他们找出问题所在并快速修复它。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/636451.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

通过代理如何调通openai的api

调通openai的api 一、前提二、通过curl调通openai的api三、通过python调通openai的api 一、前提 会魔法上网本地运行代理软件,知道端口号(如1081)。 127.0.0.1:1081二、通过curl调通openai的api 如果在国外,没有qiang&#xff…

ChatGLM3报错:No chat template is defined for this tokenizer

使用官方提供的脚本创建ChatGLM3的DEMO&#xff1a; cd basic_demo python web_demo_gradio.py 出现效果异常问题&#xff1a; conversation [{role: user, content: 你好}, {role: assistant, content: 你好&#xff0c;有什么我可以帮助你的吗&#xff1f;\n\n<|im_end|…

23号资源——电力系统程序集合已提供下载资源

23号资源&#xff1a;程序集合包含9个程序&#xff08;经典电力系统经济调度程序&#xff1b;2解决带储&#xff1b;3智能微电网PSO优化算法&#xff1b;微电网调度等等&#xff0c;见资源描述&#xff09;资源-CSDN文库https://download.csdn.net/download/LIANG674027206/887…

docker安装 mysql 8.0.32

首先下载 mysql 其次如果虚拟机以前安过mysql 需要把mysql关闭 命令 永久关闭mysql 但是当前不生效 需要重启虚拟机 systemctl enable mysqld 如果不想重启虚拟机 可以执行 systemctl stop mysqld //指定版本 docker pull mysql:8.0.32 // 拉取最新的…

【linux】ps的基本使用

ps是linux中用于显示进程的工具&#xff0c;确切来说是显示活动进程的工具 ps的基本格式是 ps [选项] sh-3.2# ps --help ps: illegal option -- - usage: ps [-AaCcEefhjlMmrSTvwXx] [-O fmt | -o fmt] [-G gid[,gid...]][-g grp[,grp...]] [-u [uid,uid...]][-p pid[,pid..…

[小程序]API、数据与事件

一、API ①事件监听API 以on开头&#xff0c;用来监听事件的触发&#xff08;如wx.inWindowResize&#xff09; ②同步API 以Sync结尾&#xff0c;且可以通过函数返回值获取&#xff0c;执行错误会抛出异常&#xff08;如wx.setStorageSync&#xff09; ③异步API 类似网页中的…

torchtext安装及常见问题

Pytorch 、 torchtext和Python之间有严格的对应关系&#xff1a; 在命令窗中安装torchtext pip install torchtext 注意这种安装方式&#xff0c;在pytorch版本与python版本不兼容时动会自动更新并安装pytorchcpu版本&#xff0c;安装的新版本pytorch可能会不兼容。慎用。 …

VUE--组件通信(父子)

1、什么是组件通信 组件通信就是指组件与组件之间的数据传递。因为组件的数据是独立的&#xff0c;无法直接访问其他组件的数据&#xff0c;想获取其他组件的数据&#xff0c;就需要用到组件通信。 2、组件关系分类&#xff08;如图&#xff09; ● 父子关系&#xff08;props…

虚拟机安装宝塔的坑

问题&#xff1a; 在虚拟机中centos7和centos8中安装宝塔之后&#xff0c;无法访问面板。 解决&#xff1a; 1.先关闭防火墙&#xff08;如果本机能够ping通相关端口&#xff0c;则不用关闭防火墙&#xff09; 2.最新的宝塔会自动开启ssl协议&#xff0c;需要手动关闭。…

Python连接数据库的梳理

我们通常用的数据库类型主要有关系型数据库&#xff0c;非关系型数据库等&#xff0c;其中关系型数据库主要有Microsoft SQL Server ,MySQL,Oracle&#xff0c;SQLite等&#xff0c;常用的非关系型数据库包括Redis、DynamoDB&#xff0c;MongoDB等 ​​​​​​​ 一 关系型…

MongoDB之索引

常用命令 查看表的索引 db.<table>.getIndexes() 查看表索引的大小 db.<table>.totalIndexSize() 重建索引 db.<table>.reIndex() 删除索引 db.COLLECTION_NAME.dropIndex("INDEX-NAME") db.COLLECTION_NAME.dropIndexes() _id 索引无法删…

MCU最小系统原理图中四个问题详解——芯片中有很多电源管脚的原因(VDD/VSS/VBAT)、LC滤波、两级滤波、NC可切换元件

前言&#xff1a;本文对MCU最小系统原理图中的四个问题进行详解&#xff1a;芯片中有很多电源管脚的原因&#xff08;VDD/VSS/VBAT&#xff09;、LC滤波、两级滤波、NC可切换元件。本文以GD32F103C8T6最小系统原理图举例 目录&#xff1a; 芯片中有很多电源管脚的原因&#x…

echarts dataZoom实现左右滑动与放大缩小 并精确控制显示几条数据

//Xdata是横轴的长度&#xff08;若x轴80条数据&#xff0c;默认显示最新的20条&#xff09; var start Xdata.length - 20; var end Xdata.length - 1; dataZoom: [ type: slider, show: true, startValue: dataZoomStart, endValue: dataZoomEnd, dataBackground: { ar…

STL——list

1、list介绍 1. list 是可以在常数范围内在任意位置进行插入和删除的序列式容器&#xff0c;并且该容器可以前后双向迭代。 2. list 的底层是带头双向循环链表结构&#xff0c;双向链表中每个元素存储在互不相关的独立节点中&#xff0c;在节点中通过指针指向其前一个元素和后…

CVE-2023-46226 Apache iotdb远程代码执行漏洞

项目介绍 Apache IoTDB 是针对时间序列数据收集、存储与分析一体化的数据管理引擎。它具有体量轻、性能高、易使用的特点&#xff0c;完美对接 Hadoop 与 Spark 生态&#xff0c;适用于工业物联网应用中海量时间序列数据高速写入和复杂分析查询的需求。 项目地址 https://io…

Leetcoder Day9|栈与队列part01

语言&#xff1a;Java/C 目录 理论基础 C 栈 队列 Java 栈 队列 ​编辑 232.用栈实现队列 225. 用队列实现栈 Queue Deque 今日心得 理论基础 又是考研时数据结构里接触到的老朋友&#xff0c;栈是先进后出&#xff0c;队列是先进先出。 C 现在刷题除了思路还…

力扣-202. 快乐数解析-弗洛伊德循环查找算法

题目链接 public static void Happy(int n) {int sum 0;int digit 0;for (int i 0; i < 20; i) {while (n ! 0) {digit n%10;sum digit*digit;n/10;}System.out.print(sum " ");n sum;sum 0;}} 使用代码测试一下每一代数字 n 2 : 4 16 37 58 89 145 42 …

自然语言处理(Natural Language Processing,NLP)解密

专栏集锦&#xff0c;大佬们可以收藏以备不时之需&#xff1a; Spring Cloud 专栏&#xff1a;http://t.csdnimg.cn/WDmJ9 Python 专栏&#xff1a;http://t.csdnimg.cn/hMwPR Redis 专栏&#xff1a;http://t.csdnimg.cn/Qq0Xc TensorFlow 专栏&#xff1a;http://t.csdni…

Servlet中service()与doGet() doPost() 是什么关系

Servlet&#xff08;Server Applet&#xff09;&#xff0c;全称Java Servlet。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据&#xff0c;生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口&#xff0c;广义的Servlet是指任何实现了这个Servlet…

关于去除信号中的直流分量效果演示(零频率分量)

本文作者&#xff1a; slience_me 文章目录 关于去除信号中的直流分量效果演示&#xff08;零频率分量&#xff09;1. 效果图展示&#xff1a;2. 快速傅里叶变换FFT3. 相关验证代码 关于去除信号中的直流分量效果演示&#xff08;零频率分量&#xff09; 1. 效果图展示&#x…