当前位置: 首页 > news >正文

k8s:安装 Helm 私有仓库ChartMuseum、helm-push插件并上传、安装Zookeeper

        ChartMuseum 是 Kubernetes 生态中用于存储、管理和发布 Helm Charts 的开源系统,主要用于扩展 Helm 包管理器的功能
核心功能
‌集中存储‌:提供中央化仓库存储Charts,支持版本管理和权限控制。 ‌
‌跨集群部署‌:支持多集群环境下共享Charts,简化部署流程。 ‌
‌离线部署‌:适配无网络环境,可将Charts存储在本地或局域网内。 ‌
‌HTTP接口‌:通过HTTP协议提供服务,用户可通过Helm客户端上传、下载及搜索Charts。 ‌

1.docker启动ChartMuseum

docker run -d \

  --name chartmuseum \

  -p 8080:8080 \

  -v $(pwd)/charts:/charts \

  -e STORAGE=local \

  -e STORAGE_LOCAL_ROOTDIR=/charts \

  chartmuseum/chartmuseum:latest

-v $(pwd)/charts:/charts:将当前目录下的 charts/ 文件夹作为存储路径。

1.1给charts文件夹权限


chmod -R 777 /app/KubeSphere/charts 

 

2.添加私有仓库到 Helm 客户端

在你的 Helm 客户端机器上执行:

helm repo add sinopsrepo http://172.23.123.117:8080

helm repo list

3.安装 helm-push 插件

    cm-push 是一个 Helm 插件,允许你将本地 .tgz 格式的 Helm Chart 包上传到 ChartMuseum 或兼容的 Helm 仓库服务器(如 Harbor、Nexus、Jfrog Artifactory 等)

下载地址

 

https://github.com/chartmuseum/helm-push/releases/download/v0.10.4/helm-push_0.10.4_linux_amd64.tar.gz

3.1解压 

#tar -zxvf helm-push_0.10.4_linux_amd64.tar.gz

 

3.2查看 Helm Home(插件安装路径)

HELM_PLUGINS_DIR=$(helm env | grep HELM_PLUGINS | cut -d '=' -f2 | tr -d '"')

[root@master bin]# echo $HELM_PLUGINS_DIR

 

 

3.3创建插件目录

mkdir -p "$HELM_PLUGINS_DIR/helm-push"

把下载好的 helm-push 放在"$HELM_PLUGINS_DIR/helm-push" 并解压
#tar -zxvf helm-push_0.10.4_linux_amd64.tar.gz
解压后包括/bin/helm-cm-push及plugin.yaml

3.4赋予可执行权限

chmod +x "$HELM_PLUGINS_DIR/helm-push/bin/helm-cm-push"

3.5验证插件

helm plugin list

4.上传zookeeper到 Chart


helm cm-push zookeeper-13.8.4.tgz  sinopsrepo 

​​​​​​​5.查看私有仓库的组件

helm repo update(如果不执行该行代码,会导致最新上传的chart看不到)

helm search repo sinopsrepo

 

6.私有仓库安装 Helm Chart

helm repo update

 helm install zookeeper  sinopsrepo/zookeeper --version 13.8.4


7卸载


helm uninstall my-zookeeper

8.参数详解

⚙️ 通用设置

参数环境变量含义
--access-token stringHELM_REPO_ACCESS_TOKEN使用 Token 认证时提供访问令牌(例如 GitHub Personal Access Token)。
-a, --app-version string-覆盖 Chart 中的 appVersion 字段。
--auth-header stringHELM_REPO_AUTH_HEADER自定义认证请求头字段名称。
--ca-file stringHELM_REPO_CA_FILE指定 CA 证书文件路径,用于验证 HTTPS 服务器。
--cert-file stringHELM_REPO_CERT_FILE客户端 SSL 证书文件路径(用于双向 TLS)。
--check-helm-version-输出当前使用的 Helm 主版本号(2 或 3)。
--context-path stringHELM_REPO_CONTEXT_PATHChartMuseum 的上下文路径(如 /charts)。
--debug-开启调试模式,显示更详细的日志信息。
-d, --dependency-update-打包前更新依赖项(从 requirements.yaml 到 charts/ 目录)。
-f, --force-即使远程仓库已存在相同版本也强制推送。
-h, --help-显示帮助信息。

🏠 Helm 配置目录

参数默认值含义
--home string/root/.helm设置 Helm 的配置根目录(可覆盖环境变量 $HELM_HOME)。

🛡️ Tiller 设置(Helm 2 特有)

Helm 3 已移除 Tiller,以下参数主要用于兼容旧 Helm 2 行为。

参数默认值含义
--host string-Tiller 地址(若使用 Helm 2)。
--tiller-namespace stringkube-systemTiller 所在命名空间。
--tiller-connection-timeout int300 秒连接 Tiller 的超时时间。

🔐 HTTPS 和认证相关

参数环境变量含义
--insecureHELM_REPO_INSECURE忽略 HTTPS 证书校验(适用于自签名证书)。
--key-file stringHELM_REPO_KEY_FILE客户端 SSL 密钥文件路径(用于双向 TLS)。
--keyring string-GPG 公钥环路径(默认:~/.gnupg/pubring.gpg)。
-p, --password stringHELM_REPO_PASSWORDHTTP Basic Auth 密码。
-u, --username stringHELM_REPO_USERNAMEHTTP Basic Auth 用户名。

🕒 超时控制

参数默认值含义
-t, --timeout int30 秒等待 ChartMuseum 响应的最大时间(秒)。

📦 Chart 元数据覆盖

参数含义
-v, --version string覆盖 Chart 的版本号(version 字段)。
http://www.dtcms.com/a/271869.html

相关文章:

  • 正点原子 文件权限
  • Spring核心原理的快速入门:快速了解IoC与DI
  • RHCE考试 ——笔记
  • 【Linux手册】从接口到管理:Linux文件系统的核心操作指南
  • Redis数据安全性分析
  • PyTorch Tensor 操作入门:转换、运算、维度变换
  • 【NLP入门系列六】Word2Vec模型简介,与以《人民的名义》小说原文实践
  • IPv4和IPv6双栈配置
  • 【K8S】Kubernetes 使用 Ingress-Nginx 基于 Cookie 实现会话保持的负载均衡
  • HCIA第一次实验报告:静态路由综合实验
  • day11-微服务面试篇
  • C++11 std::is_sorted 和 std::is_sorted_until 原理解析
  • CentOs 7 MySql8.0.23之前的版本主从复制
  • 无缝矩阵与普通矩阵的对比分析
  • 中老年人的陪伴,猫咪与机器人玩具有什么区别?
  • Java 与 MySQL 性能优化:MySQL连接池参数优化与性能提升
  • MySQL(127)如何解决主从同步失败问题?
  • adb 简介与常用命令
  • 分布式ID 与自增区别
  • 虚拟储能与分布式光伏协同优化:新型电力系统的灵活性解决方案
  • 异步I/O库:libuv、libev、libevent与libeio
  • 从0到1:Python与DeepSeek的深度融合指南
  • jupyter 和 kernel 之间的关系
  • .net服务器Kestrel 与反向代理
  • 【TCP/IP】11. IP 组播
  • 【C语言】学习过程教训与经验杂谈:思想准备、知识回顾(六)
  • 【博主亲测可用】PS2025最新版:Adobe Photoshop 2025 v26.8.1 激活版(附安装教程)
  • Apache Dubbo实战:JavaSDK使用
  • 前端面试十一之TS
  • 服务器重装后如何“复活”旧硬盘上的 Anaconda 环境?—— 一次完整的排错与恢复记录