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

Harbor 和 Helm

Harbor 和 Helm 在 Kubernetes 生态中的职责明确分工,同时又紧密协作


🔧 一、核心职责对比

工具核心职责关键功能
Harbor镜像与制品存储管理- 容器镜像的存储、分发、复制
- Helm Chart(OCI 格式)的托管
- 安全扫描(Trivy)、镜像签名、RBAC 权限控制
- 审计日志与多租户隔离
Helm应用部署与生命周期管理- 将 Kubernetes 应用打包为 Chart(含部署模板)
- 一键安装/升级/回滚应用
- 参数化配置(values.yaml
- 依赖管理

二、协作流程(典型场景)

  1. 镜像与 Chart 存储

    • 开发者将 Docker 镜像推送到 Harbor,同时将 Helm Chart(包含部署模板)推送至 Harbor 的 Helm 仓库(以 OCI Artifact 格式存储)。
    • Harbor 对镜像进行漏洞扫描,确保安全性 。
  2. 应用部署

    • Helm 从 Harbor 拉取 Chart:
      helm pull oci://harbor.example.com/project/my-chart --version 1.0.0
      
    • 执行部署命令,自动拉取 Chart 中定义的镜像(来自 Harbor):
      helm install myapp ./my-chart --set image.repository=harbor.example.com/project/my-image
      
  3. CI/CD 集成

    • Jenkins/GitLab CI 触发构建 → 生成镜像并推送到 Harbor → 更新 Chart 版本并推送至 Harbor → Helm 自动升级生产环境应用 。

💎 三、功能互补性

  • Harbor 的扩展价值

    • 自 v2.8 起,弃用 ChartMuseum,直接以 OCI 格式存储 Helm Chart,复用镜像的 RBAC 和存储体系,实现统一管理 。
    • 支持跨集群镜像复制,确保全球部署一致性 。
  • Helm 的部署优势

    • 通过模板化(如 {{ .Values.image.repository }})动态注入 Harbor 镜像地址,避免硬编码 。
    • 依赖管理(如子 Chart)简化多组件应用编排 。

⚠️ 四、常见误区澄清

误区正解
“Harbor 能直接部署应用”Harbor 仅存储资源(镜像/Chart),部署由 Helm 或 Kubernetes 原生工具执行
“Helm 包含镜像”Chart 仅定义镜像路径(如 image: harbor.example.com/app:v1),镜像需独立推送至 Harbor
“两者可相互替代”缺一不可:Harbor 是“仓库管理员”,Helm 是“部署工程师”

总结:协同价值

  • 安全闭环:Harbor 扫描镜像 → Helm 部署可信应用。
  • 效率提升:内网环境中,Harbor 作为私有仓库加速镜像/Chart 分发,Helm 实现秒级部署。
  • 企业级治理:RBAC 控制 Chart 访问权限 + 审计日志追踪部署全流程 。

生产建议:为 Harbor 配置 TLS 证书,避免 Helm 操作时使用 --insecure-skip-tls-verify;同时通过 Helm 的 dependencies 管理复杂应用拓扑 。

http://www.dtcms.com/a/283404.html

相关文章:

  • 陆面、生态、水文模拟与多源遥感数据同化的实践技术应用
  • ACL实验(思科设备)
  • 游戏开发中防止“范围蔓延”
  • Oracle 数据库常见等待事件参数详解
  • YOLO算法原理
  • 2025年中国品牌全球化发展分析:中国品牌在社交渠道、电商平台及官网流量方面显著增长
  • 测试开发工作日常用的提示词分享
  • 探秘京东外卖幕后:地图轨迹技术探寻
  • Java+Ollama 本地部署 DeepSeek-R1 对话机器人:从 0 到 1 实战指南
  • 动态规划的无后效性与马尔可夫性质相似关系的说明
  • [Java安全】JDK 动态代理
  • 3D TOF 安全防护传感器
  • 低精度定时器 (timer_list) 和 高精度定时器 (hrtimer)
  • 切比雪夫距离
  • Python高级编程技巧探讨:装饰器、Patch与语法糖详解
  • 二叉树思想草稿
  • 关于SaaS业务模式及其系统架构构建的详细解析
  • RICE-YOLO:基于改进YOLOv5的无人机稻穗检测新方法
  • 【C语言网络编程】HTTP 客户端请求(发送请求报文过程)
  • 在UE中如何操作视图的大小,方位,移动
  • 16路串口光纤通信FPGA项目实现指南 - 第二部分(上)
  • 【LeetCode刷题指南特别篇】--移除链表元素,调试技巧,链表分割
  • pyJianYingDraft 在 import_srt 字幕添加花字效果
  • 鸿蒙系统账号与签名内容整理
  • CG--资料分析1
  • 重载操作类型
  • 向量数据库Faiss vs Qdrant全面对比
  • ESP32——快速入门
  • 【深度学习】学习算法中为什么要使用“小批量随机”
  • 前后端分离项目中的接口设计与调用流程——以高仙机器人集成为例