使用与维护指南:安装、双轨机制与归档迁移实践)
【免费下载链接】charts⚠️(OBSOLETE) Curated applications for Kubernetes项目地址https://gitcode.com/gh_mirrors/chart/charts点击查看免费下载本指南以 helm/charts 项目根目录 README.md 为核心系统讲解官方 Helm Chart 仓库stable与incubator的定位、安装方式、仓库结构、贡献与维护流程以及该项目已进入归档期的迁移策略。读者读完本文后将能熟练地在 Helm 2/3 中启用官方 Chart 仓库、判断 Chart 的成熟度与稳定性、按技术规范提交或审查 Chart并为迁移到 Artifact Hub 生态做好准备。一、项目定位官方 Chart 仓库的现状与归档Helm Charts 是 Kubernetes Helm 生态中最早的官方 Chart 集中地其根 README.md 明确说明该 GitHub 项目是 Helmstable和incubator两个 Chart 仓库的源码所在地通过 GitHub Pages 承载打包发布后的 Chart Repository。如今该项目已不再处于活跃开发阶段仅作为存档archive保留。需要特别注意的是README 开头的警示图标直接标注了 This project is no longer supported——这意味着新 Chart 已不再被接受进入stable或incubator社区可继续提交既有 Chart 的补丁在归档时间线内由 Chart OWNERS 视时间评审该仓库面向apiVersion: v1的 ChartHelm 2 与 Helm 3 均可安装不面向apiVersion: v2仅 Helm 3 可安装的 Chart。当前 Helm 生态的权威 Chart 来源已迁移至Artifact Hub一个聚合分布式 Chart 仓库的平台本文所述仓库的历史价值与迁移参考意义远大于继续新增使用。二、弃用与归档时间线Deprecation Timeline根 README 给出了与 Helm 2 支持计划同步的正式弃用时间表这是理解该仓库一切现状的关键时间节点事件2019-11-13伴随 Helm 3 公开发布stable与incubator不再接受新 Chart社区仍可提交既有 Chart 的补丁由 Chart OWNERS 评审2020-08-13Helm v2 进入仅安全修复阶段9 个月节点stable与incubator从 Helm Hub 下架Chart OWNERS 仅接受安全修复类变更原日期因 COVID-19 延长了 3 个月以对齐 Helm v2 支持周期2020-11-13满 1 年项目支持正式终止两个仓库被标记为 obsolete很可能被垃圾回收Git 仓库作为存档保留这一时间线给了 Chart OWNERS、组织、团体或个人 9 个月的窗口期把各自维护的 Chart 迁移到新的 Helm 仓库并在下架前将新仓库登记到 Helm Hub。三、快速上手安装官方 Chart在仓库仍可用时期安装官方 Chart 的方式非常简单——stable仓库是 Helm v2 的默认仓库$ helm install stable/chart例如在 stable/drupal/README.md 中记载的经典用法$ helm install my-release stable/drupal该命令会以默认配置在 Kubernetes 集群中部署 Drupal同时自动带上它所依赖的 Bitnami MariaDB Chart作为 Drupal 应用的后端数据库。这也是本仓库大多数 Chart 的通用形态应用 Chart 通过requirements.yaml声明依赖安装时一并拉起。查看本仓库 stable/ 与 incubator/ 目录可以发现每个 Chart 均遵循同一套标准布局Chart.yaml元数据、values.yaml可配置参数及默认值、templates/含_helpers.tpl、NOTES.txt与各资源模板、README.md文档说明。例如 stable/drupal/Chart.yaml 与 incubator/kafka/Chart.yaml 均标注了deprecated: true并且前者声明了apiVersion: v1、engine: gotpl这正是该仓库面向 Helm 2 时代 Chart 格式的直接证据。四、Helm 3 下启用 stable 与 incubator 仓库Helm v3 不再默认携带任何 Chart 仓库需要手动添加。根 README 给出了官方命令启用stable仓库$ helm repo add stable https://charts.helm.sh/stable stable has been added to your repositories启用incubator仓库$ helm repo add incubator https://charts.helm.sh/incubator incubator has been added to your repositories添加完成后即可用helm search incubator浏览 incubator 中的 Chart 列表。本仓库 test/ct.yaml 展示了官方 CI 中如何引用这两个仓库源remote: k8s target-branch: master chart-dirs: - stable - incubator excluded-charts: - common chart-repos: - stablehttps://charts.helm.sh/stable - incubatorhttps://charts.helm.sh/incubator helm-extra-args: --timeout 600从该配置可以看到CI 对stable与incubator两个目录同时做校验common这类基础工具 Chart 被排除在发布之外且每个安装测试设置了 600 秒超时。这也印证了 README 中本仓库通过 CI 流程管理 Chart 发布的说法。五、Chart 格式撰写前的必修课根 README 建议编写自己的首批 Chart 前先参考官方提供的alpine 示例 Chart熟悉标准 Chart 格式。其要点包括Chart.yaml声明名称、版本、依赖与应用版本values.yaml承载全部可配置参数及默认值templates/目录存放渲染为 Kubernetes 资源的 Go 模板含_helpers.tpl公共辅助模板与NOTES.txt安装后提示。以 stable/drupal/values.yaml 为例可以看到一个成熟 Chart 的参数设计模式镜像参数image.registry/repository/tag/pullPolicy、应用参数drupalUsername、drupalEmail、drupalProfile、外部依赖参数externalDatabase.*、mariadb.*、网络参数service.type、ingress.*、持久化参数persistence.*、资源配额resources与可观测性参数metrics.*分层组织并配有大量注释说明默认值与取值范围。这是判断一个 Chart 是否达到官方仓库质量标准的最直观样本。六、仓库结构stable 与 incubator 双轨机制本仓库将 Chart 划分为两个目录这是理解其治理逻辑的核心stable/满足 CONTRIBUTING.md 中技术需求Technical Requirements全部标准的 Chart与 Chart Repository 中最新打包版本一一对应仓库内可能还保留着更早的历史版本incubator/尚未达到上述标准的 Chart。设立此目录的目的是让不成熟的 Chart 先被共享、改进直到准备好被移入stable。从 incubator 晋升 stable 的方式很直接由 Chart 维护者发起一个移动 Chart 文件夹的 Pull Request。而 README 也明确指出stable/目录中的 Chart 与 Chart Repository 中最新打包版本一致可供用户以helm install stable/chart直接安装。七、Chart 进入官方仓库的验收标准结合根 README 与 CONTRIBUTING.md一个 Chart 要进入stable必须同时满足技术需求与文档需求。技术需求Technical Requirements所有 Chart 依赖也应独立提交必须通过helm lint校验必须能使用默认值成功安装helm install .且所有 Pod 进入 running 状态若必需值缺失则NOTES.txt必须给出进一步指引、所有 Service 至少有一个 endpoint必须提供 Chart 所用镜像的源码 GitHub 仓库地址且镜像不应存在重大安全漏洞必须紧跟最新的稳定版 Helm/Kubernetes 特性优先使用 Deployment 而非 ReplicationController应遵循 Kubernetes 最佳实践包括尽可能包含健康检查、允许配置资源 requests/limits如适用必须提供数据持久化方案必须支持应用升级与应用配置自定义提供安全的默认配置不得使用 Kubernetes 的 alpha 特性必须包含 NOTES.txt 说明安装后如何使用应用遵循 Helm 官方最佳实践尤其是 labels 与 values 规范。文档需求Documentation Requirements必须包含详尽的README.mdChart 简介、前置条件或需求、以及values.yaml中各项参数及其默认值的说明——stable/drupal/README.md 正是这一标准的范例其中用完整的参数表格逐项列出了 40 余个配置项必须包含简短的NOTES.txt安装后的相关信息、如何访问 Chart 提供的应用或服务。合并与发布流程Merge Approval and Release ProcessChart 变更提交后由维护者发起 CI 校验任务验证技术需求至少一位维护者给出 LGTMLooks Good To Me后才能合并合并后 CI 自动运行发布任务将 Chart 打包并发布到 Google Storage 存储桶gs://kubernetes-charts。本仓库 REVIEW_GUIDELINES.md 则记录了评审流程的具体细则。八、贡献、维护与信任机制成为 Chart 维护者Owning and Maintaining A Chart单个 Chart 可由一个或多个 GitHub 用户共同维护。要获得某 Chart 的合并权限需依次完成三步在 Chart 的Chart.yaml中被列为 maintainer若缺少赞助者可联系既有维护者或 OWNERS 中的仓库 OWNERS被邀请并接受邀请为本仓库的只读协作者这是k8s-ci-robot进行 PR 评论交互的前提在 Chart 目录下添加OWNERS文件分别列出 reviewers 与 approvers 的 GitHub 用户名根目录的 OWNERS 文件即为仓库级维护者名单包含 approvers 与 emeritus 两组并将OWNERS追加到.helmignore中。完成这三步后Chart 的 approver 即可按 REVIEW_GUIDELINES.md 中的指引合并 Pull Request。信任协作者Trusted Collaboratorpull-charts-e2e测试实际安装 Chart 进行验证是 PR 合并前的必过关卡。该测试对 Helm Org 成员与 Chart 仓库协作者自动运行对普通但可信的贡献者则通过信任协作者机制获得自动测试资格并可用/ok-to-test评论触发其他 PR 的测试。成为信任协作者有两条路径满足其一即可是 Kubernetes GitHub org 成员且公开其 org 成员身份获得本仓库根 OWNERS 文件所列 Chart 维护者的赞助。申请流程为提交 issue 申请成为信任协作者随后由 Helm Chart 维护者将其添加为只读协作者。评审流程与陈旧清理Pull Request 与 Issue 在 30 天无活动后自动变为 stale再经过 30 天变为 rottenrotten 满 30 天后被自动关闭——这是 Kubernetes GitHub 组织所有仓库的标准 stale 处理流程。九、支持的 Kubernetes 版本策略该仓库的策略是支持 Kubernetes最新小版本及其前一个版本。例如若最新小版本是 1.8则支持 1.7 与 1.8更早版本虽不在目标支持窗口内Chart 仍可能正常工作。为达成这一目标模板中对象的 API 版本应同时兼容最新与上一个小版本。这一要求在 stable/drupal/README.md 的升级章节有具体体现Drupal Chart 6.0.0 将 Deployment 的apiVersion从旧版本升级到apps/v1由于 GroupVersionKindGVK变更被 Kubernetes 视为兼容性破坏无法原地升级因此以主版本号变更来标记这一破坏性变化。十、中国用户的替代方案根 README 专门设有 Happy Helming in China 章节对于身处中国的用户直接使用上游 Helm Charts 可能遇到网络问题例如镜像托管于gcr.io、quay.ioChart 托管于googleapis.com等此时可使用自动同步并在每个 Chart 中替换不可访问镜像与仓库地址的镜像仓库。该镜像仓库由社区维护同步了本项目的全部 Chart 并替换了不可达的资源地址。十一、面向未来的迁移建议结合归档时间线与本仓库的实际状态stable与incubator下各 Chart 的Chart.yaml均已标记deprecated: true如 stable/mysql/Chart.yaml给仍在使用的用户的迁移路径建议是存量使用仍可查阅本存档仓库学习 Chart 结构、参数设计与模板写法但不应再期待新功能与普通缺陷修复新部署优先通过 Artifact Hub 检索仍在维护的 Chart 发行版例如 Bitnami 维护的 Chart 已迁移至独立仓库安装方式从stable/chart变为bitnami/chart如 stable/drupal/README.md 所述helm repo add bitnami ...后即可用helm install my-release bitnami/chartHelm 2 则需加--name参数已有部署升级可执行helm repo add bitnami ...后用helm upgrade my-release bitnami/chart迁移到仍在维护的 Chart 版本自托管 Chart参照本文第六、七节的标准将自身维护的 Chart 迁移到自有仓库并在 Artifact Hub 登记完成从本仓库生态的过渡。总而言之helm/charts 是 Helm 2 时代官方 Chart 治理的完整范本——从stable/incubator双轨评审机制、技术验收标准到 OWNERS 维护与 CI 发布流水线至今仍值得 Chart 作者与平台建设者参考而它的归档历程也恰好是 Helm 生态从集中式仓库走向 Artifact Hub 分布式聚合时代的缩影。赞分享【免费下载链接】charts⚠️(OBSOLETE) Curated applications for Kubernetes项目地址https://gitcode.com/gh_mirrors/chart/charts点击查看免费下载相关推荐Helm Incubator Charts 仓库完全指南从安装使用到图表贡献与晋升 StableHelm Incubator Charts 仓库完全指南从安装使用到图表贡献与晋升 Stable Helm Incubator 是 Helm 官方 chartRivet Guard 路由与重试机制解析Actor 代理网关的乐观路由、缓存失效与 503 重试协议Rivet Guard 路由与重试机制解析Actor 代理网关的乐观路由、缓存失效与 503 重试协议 本文基于 Rivet 引擎内部文档 GUARD.mdKubernetes Helm Charts 安装与使用指南 - Tehras ChartsKubernetes Helm Charts 安装与使用指南 Tehras Charts 项目介绍 Tehras Charts 是一个基于 Kubernetes上一篇OpenChat-3.5-0106-OpenMind性能评测71.3% HumanEval通过率的代码生成能力下一篇Yuedu书源章节跳转动画平滑与即时选择创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考