概述

官方文档:https://helm.sh/zh/docs/topics/chart_repository/

官方仓库:https://artifacthub.io/

Helm 仓库(Repository)是存储 Helm 图表(Chart)的地方,类似于软件包管理器的仓库(如 apt、yum 仓库)。

Helm 仓库是一个 HTTP 服务器,用于存储和共享 Helm Chart 的压缩包(.tgz 文件)及相关索引文件(index.yaml)。

索引文件(index.yaml)记录了仓库中所有 Chart 的元数据(名称、版本、描述等),供 Helm 客户端查询和下载。

常见的仓库类型

  • 官方仓库:Helm 官方维护的仓库(已归档,现推荐使用 Artifact Hub 查找社区 Chart)。
  • 社区仓库:如 BitnamiJetstack 等组织提供的仓库。
  • 私有仓库:企业内部自建的仓库,用于管理私有 Chart。

常用的helm仓库

Helm仓库管理常用配置

添加仓库

将仓库地址添加到 Helm 客户端的本地配置中

# 语法
helm repo add [仓库名称] [仓库地址] # 示例
[root@master ~]# helm repo add prometheus https://prometheus-community.github.io/helm-charts
"prometheus" has been added to your repositories
[root@master ~]# helm repo add grafana https://grafana.github.io/helm-charts
"grafana" has been added to your repositories

更新仓库索引

Helm 客户端需要定期更新仓库索引,以获取最新的 Chart 列表和版本信息。

[root@master ~]# helm repo update
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "grafana" chart repository
...Unable to get an update from the "prometheus" chart repository (https://prometheus-community.github.io/helm-charts):
read tcp [fdbd:dc01:ff:318:3ebb:26f3:26ff:6026]:39074->[2606:50c0:8001::153]:443: read: connection reset by peer
Update Complete. ⎈Happy Helming!⎈

列出本地仓库

查看当前配置的所有仓库及其地址。

[root@master ~]# helm repo list
NAME URL
prometheus https://prometheus-community.github.io/helm-charts
grafana https://grafana.github.io/helm-charts

删除仓库(Remove Repository)

从本地配置中移除不再需要的仓库。

#语法
helm repo remove [仓库名称] # 示例
[root@master ~]# helm repo remove grafana
"grafana" has been removed from your repositories
[root@master ~]# helm repo list
NAME URL
prometheus https://prometheus-community.github.io/helm-charts

搜索仓库中的 Chart(Search Charts)

从仓库中搜索符合条件的 Chart,支持模糊匹配。

# 语法
helm search repo [关键词] # 示例
[root@master ~]# helm search repo grafana
NAME CHART VERSION APP VERSION DESCRIPTION
grafana/grafana 9.2.2 12.0.1 The leading tool for querying and visualizing t...
grafana/grafana-agent 0.42.0 v0.42.0 Grafana Agent
grafana/grafana-agent-operator 0.5.1 0.44.2 A Helm chart for Grafana Agent Operator
grafana/grafana-operator v5.18.0 v5.18.0 Helm chart for the Grafana Operator
grafana/grafana-sampling 1.1.5 v1.7.5 A Helm chart for a layered OTLP tail sampling a...

查看指定仓库中Chart的版本

# 语法
helm search repo [chart名称] --versions # 示例
[root@master ~]# helm search repo prometheus/kube-prometheus-stack --versions
NAME CHART VERSION APP VERSION DESCRIPTION
prometheus/kube-prometheus-stack 72.9.1 v0.82.2 kube-prometheus-stack collects Kubernetes manif...
prometheus/kube-prometheus-stack 72.9.0 v0.82.2 kube-prometheus-stack collects Kubernetes manif...
prometheus/kube-prometheus-stack 72.8.0 v0.82.2 kube-prometheus-stack collects Kubernetes manif...
prometheus/kube-prometheus-stack 72.7.0 v0.82.2 kube-prometheus-stack collects Kubernetes manif...
prometheus/kube-prometheus-stack 72.6.4 v0.82.2 kube-prometheus-stack collects Kubernetes manif...
prometheus/kube-prometheus-stack 72.6.3 v0.82.2 kube-prometheus-stack collects Kubernetes manif...
prometheus/kube-prometheus-stack 72.6.2 v0.82.2 kube-prometheus-stack collects Kubernetes manif...
prometheus/kube-prometheus-stack 72.6.1 v0.82.2 kube-prometheus-stack collects Kubernetes manif...
prometheus/kube-prometheus-stack 72.5.3 v0.82.2 kube-prometheus-stack collects Kubernetes manif...
prometheus/kube-prometheus-stack 72.5.2 v0.82.2 kube-prometheus-stack collects Kubernetes manif...
prometheus/kube-prometheus-stack 72.5.1 v0.82.2 kube-prometheus-stack collects Kubernetes manif...
prometheus/kube-prometheus-stack 72.5.0 v0.82.2 kube-prometheus-stack collects Kubernetes manif...
prometheus/kube-prometheus-stack 72.4.0 v0.82.2 kube-prometheus-stack collects Kubernetes manif...
prometheus/kube-prometheus-stack 72.3.1 v0.82.0 kube-prometheus-stack collects Kubernetes manif...

拉取远程仓库的chart

# 语法,--version对应的是chart version,--untar自动解压,
# --destination:指定下载的 Chart 文件(.tgz)保存的目标目录(默认当前目录)。
# --repo [仓库URL] 直接从指定 URL 下载 Chart,而不使用已添加的仓库名称。
helm pull [chart名出] --version [版本号] --untar --destination [/path] --repo [仓库URL] # 示例
[root@master ~]# helm pull prometheus/kube-prometheus-stack --version 72.9.0
[root@master ~]# ll kube-prometheus-stack-72.9.0.tgz
-rw-r--r-- 1 root root 814664 Jun 3 14:45 kube-prometheus-stack-72.9.0.tgz

私有仓库相关命令

创建仓库索引文件

为本地 Chart 目录生成 index.yaml,用于搭建私有仓库。

helm repo index [目录路径] --url [仓库URL]

推送 Chart 到私有仓库

helm push [Chart路径] [仓库名称]

Helm仓库管理的更多相关文章

  1. Helm包管理工具(简介、安装、方法)

    认识Helm 每次我们要部署一个应用都需要写一个配置清单(维护一套yaml文件),但是每个环境又不一样.部署一套新的环境成本是真的很高.如果我们能够使用类似于yum的工具来安装我们的应用的话那就太好了 ...

  2. Helm简介

    什么是Helm 微服务和容器化给复杂应用部署与管理带来了极大的挑战.Helm是目前Kubernetes服务编排领域的唯一开源子项目,作为Kubernetes应用的一个包管理工具,可理解为Kuberne ...

  3. Helm一:简介

    目录 什么是Helm Helm解决的问题 Helm原理 Helm架构 Helm功能 Helm三个重要概念 Helm组件 Helm Client Tiller Server Helm实现 什么是Helm ...

  4. 简化Kubernetes应用部署工具-Helm

    [编者的话]微服务和容器化给复杂应用部署与管理带来了极大的挑战.Helm是目前Kubernetes服务编排领域的唯一开源子项目,做为Kubernetes应用的一个包管理工具,可理解为Kubernete ...

  5. Helm - Kubernetes包管理专家

    What is Helm? - The package manager for kubernetes, Helm is the best way to find, share, and use sof ...

  6. 正式开放 | 阿里云 10 亿级镜像服务正式支持 Helm Charts,云原生交付再加速!

    作者 | 阿里巴巴高级开发工程师 谢于宁(予栖) 2018 年 6 月,Helm 正式加入了 CNCF 孵化项目: 2018 年 8 月,据 CNCF 的调研表明,有百分之六十八的开发者选择了 Hel ...

  7. k8s包管理工具helm - 介绍和安装

    目录 1.Kubernetes 应用部署的挑战 2.Helm 是什么 3.Helm 组件及相关术语 4.Helm 工作原理 5.Helm 安装 5.1 客户端安装 5.2 安装服务端 Tiller 5 ...

  8. 云原生交付加速!容器镜像服务企业版支持 Helm Chart

    2018 年 6 月,Helm 正式加入了 CNCF 孵化项目:2018 年 8 月,据 CNCF 的调研表明,有百分之六十八的开发者选择了 Helm 作为其应用包装方案:2019 年 6 月,阿里云 ...

  9. Helm, 在Kubernetes中部署应用的利器

    一.背景 Kubernetes(k8s)是一个基于容器技术的分布式架构领先方案.它在Docker技术的基础上,为容器化的应用提供部署运行.资源调度.服务发现和动态伸缩等一系列完整功能,提高了大规模容器 ...

  10. 用Helm部署Kubernetes应用,支持多环境部署与版本回滚

    1 前言 Helm是优秀的基于Kubernetes的包管理器.利用Helm,可以快速安装常用的Kubernetes应用,可以针对同一个应用快速部署多套环境,还可以实现运维人员与开发人员的职责分离.现在 ...

随机推荐

  1. svn提示Node remains in conflict的解决办法

    svn 更新提示Node remains in conflict 这个时候不管svn up多少次,都无法更新到最新的内容 解决办法: svn revert --depth=infinity * 其中* ...

  2. mac输入法 cpu占用,解决mac使用输入法出现卡顿延迟

    1.介绍 网上有各种方法,例如有touchbar的macbook关闭输入建议:定时重启"简体中文输入法"进程:关闭"显示器具有单独的空间" 这些方法网上都能看到 ...

  3. 通过 openpyxl 操作 excel 表格

    博客地址:https://www.cnblogs.com/zylyehuo/ STEP1: 导入相关库 import os from openpyxl import load_workbook STE ...

  4. 【JDBC第9章】Apache-DBUtils实现CRUD操作

    第9章:Apache-DBUtils实现CRUD操作 9.1 Apache-DBUtils简介 commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的 ...

  5. 如何使用 OpenAI Agents SDK 构建 MCP

    1.概述 OpenAI Agents SDK 现已支持 MCP(模型上下文协议),这是 AI 互操作性的重大变革.这使开发人员能够高效地将 AI 模型连接到外部工具和数据源.本篇博客,笔者将指导使用 ...

  6. ubuntu16.04安装SQLite

    主流的sqlite3,占用内存小,处理时速度快,跨平台. 几乎所有版本的 Linux 操作系统都附带 SQLite.所以,只要使用下面的命令来检查您的机器上是否已经安装了 SQLite. 一.检查是否 ...

  7. 记一个.NET AOT交叉编译时的坑

    记一个.NET AOT交叉编译时的坑 背景: 使用.NET9开发的Avalonia项目需要部署到Linux-arm64 踩坑: 根据官方AOT交叉编译文档配置后执行打包 dotnet publish ...

  8. MySql字符集从utf8升级到utf8mb4说明和实现方式[详细]

    起源,项目中出现了异常,Message:Incorrect string value: '\xF0\x9F\x87\xB5\xF0\x9F...' for column 'signature' at ...

  9. SQL语句(一)—— DDL

    SQL 全称 Structured Query Language,结构化查询语言.操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准 . 一.SQL 基础知识 (一)SQL 通用语法 在学 ...

  10. Spring Cloud之Commons如何通过配置文件配置服务实例?

    Spring Cloud Commons 主要包括如下模块的接口和默认实现: 其中的限流策略以及重试策略是没有天然带的,但是其他模块的实现一般会带上这些功能.我们先从服务发现相关接口开始分析 服务发现 ...