
云原生后端前端【免费下载链接】kubeappsA web-based UI for deploying and managing applications in Kubernetes clusters项目地址https://gitcode.com/gh_mirrors/ku/kubeapps点击查看免费下载本文以 chart/kubeapps/CHANGELOG.md 为主体系统讲解 Kubeapps 官方 Helm Chart 近 338 个版本条目的结构约定、里程碑节点与破坏性变更识别方法并结合当前仓库中的 Chart.yaml、values.yaml 与 templates 源码验证每一条变更在 Chart 中的真实落点帮助你掌握读 Changelog、定升级路径、核对依赖锁定的完整技能。一、这份 Changelog 记录的是什么chart/kubeapps/CHANGELOG.md 是 Kubeapps Helm Chart仓库chart/kubeapps/目录的完整版本历史文件全文 1442 行从0.1.02018-08-09一直记录到17.1.12024-12-24共 338 个版本条目、持续约 6 年半。它的定位不是功能文档而是发布流水账 变更索引每一条版本条目下罗列该次发布并入的 PR、commit 短哈希与关闭的 issue 编号。条目结构与排版约定观察文件可以发现三条稳定的书写约定版本头格式## 版本号 (YYYY-MM-DD)例如## 17.1.1 (2024-12-24)、## 17.0.0 (2024-10-03)small弱化标签全文有 261 个版本头被包裹为## smallx.y.z (日期)/small主要出现在常规补丁发布上属于该文件的视觉排版习惯——是否带标签不影响版本号本身的判定条目内容形如[bitnami/kubeapps] Release 17.1.1 (#31153)每条都附带 PR 编号、commit 短哈希如2ff6384以及closes #编号的问题引用。早期条目2018–2021 年多为简写的kubeapps: bump chart version to x.y.z条目信息密度较低2022 年之后条目普遍带有明确的 commit message 描述。与 Chart 元数据的对应关系Changelog 的最新版本头必须与 Chart 元数据一致当前仓库可交叉验证Chart.yamlversion: 17.1.1与 Changelog 最后一节完全对应appVersion: DEVELkubeVersion: 1.21.0-0要求 Kubernetes 1.21 及以上Chart.lock依赖锁定为redis 20.6.1、postgresql 16.3.4、common 2.28.0generated: 2024-12-24T09:59:54...——生成时间与 17.1.1 的发布日期同一天并带有依赖 digestsha256:6aaeb8ef...说明该快照经过完整的helm dependency锁定流程。二、版本时间线关键里程碑一览从 338 个条目中筛出对升级决策真正有价值的节点破坏性变更与重要功能均直接摘自 Changelog 原文描述版本日期关键变更性质0.1.02018-08-09首个 Kubeapps chartsync from kubeapps/kubeapps起点1.0.02018-11-15首个 1.x 正式版Major5.0.02020-11-19chart 版本线向 10.X.X 过渡Major7.0.02021-05-12New major version: standardizationMajor/标准化7.2.02021-08-03app repository CRD 升级到 v1 版本MinorAPI 升级8.0.02022-03-22Chart standardisedchart 全面标准化Major10.1.02022-08-11新增参数并设置kubeVersionMinor引入集群版本约束10.2.02022-08-16Redis 持久化默认关闭Minor默认值变化10.3.02022-08-22支持 image digest除 tag 之外Minor12.2.02023-01-19允许通过authProxy.existingOauth2Secret使用已有 SecretMinor12.3.02023-04-20Helm charts 100% OCI 化Minor分发方式变化14.0.02023-10-12Release Kubeapps 2.9.0postgresql 子 chart 升级Major14.1.02023-11-08支持 PSA restricted 策略Minor安全14.3.02024-01-22service-account token auto-mount 移至 pod 声明Minor安全14.4.02024-02-15新增 resource preset 支持Minor14.6.02024-02-29新增readOnlyRootFilesystem支持Minor安全14.7.02024-03-06OpenShift restricted-v2 SCC 自动适配Minor15.0.02024-04-04feat!: Improve security defaultsMajor/破坏性15.1.02024-05-21当原始镜像被替换时输出警告Minor15.2.02024-06-04启用 PodDisruptionBudgetsMinor15.3.02024-06-06PodDisruptionBudgets 第二部分Minor15.3.72024-07-18Global StorageClass 作为默认值Patch17.0.02024-10-03feat!: Bump PostgreSQL to 17.xMajor/破坏性17.1.02024-12-10NOTES 增加 Bitnami Premium 信息检测非标准镜像Minor17.1.12024-12-24当前仓库对应的最新版本Patch阅读这张表可以提炼出该 chart 的版本节奏Major 版本几乎都伴随标准化或破坏性默认值调整Minor 版本主要承载安全加固与功能新增Patch 版本绝大多数是updating components versions同步子组件镜像版本这类例行发布。三、安全加固主线Changelog 条目与源码落点互证Changelog 中密度最高的主题就是安全默认值演进可以串成一条清晰的时间线14.1.0PSA restricted→ 14.2.0securityContext 增强→ 14.3.0/14.3.1OpenShift 兼容→ 14.4.0资源预设→ 14.6.0只读根文件系统→ 14.7.0SCC 自动适配→ 15.0.0安全默认值大改破坏性→ 15.1.0镜像替换警告→ 17.0.3seLinuxOptions 统一。PSA restricted 与 securityContext14.1.0 / 14.2.014.1.0 条目原文为Add support for PSA restricted policy14.2.0 为Improve podSecurityContext and containerSecurityContext with essential...。在当前 values.yaml 中可以看到每个组件如frontend都有完整的containerSecurityContext块且readOnlyRootFilesystem: true已作为默认值seLinuxOptions声明为[object,nullable]且默认空对象## param frontend.containerSecurityContext.readOnlyRootFilesystem Set containers Security Context readOnlyRootFilesystem containerSecurityContext: ... readOnlyRootFilesystem: true seLinuxOptions: {}14.3.1 的Set seLinuxOptions to null for Openshift compatibility与 17.0.3 的Unify seLinuxOptions default value正是针对这一字段在 OpenShift 上的可空性做的两次修正——从 values 中seLinuxOptions: {}空对象而非 null的默认值可以看出后者已生效。Service Account Token 控制14.3.014.3.0 条目Move service-account token auto-mount to pod declaration在当前模板中的体现是pod 级automountServiceAccountToken字段例如 kubeappsapis/deployment.yaml 中automountServiceAccountToken: {{ .Values.kubeappsapis.automountServiceAccountToken }}而 values 中 frontend.automountServiceAccountToken 默认为true。把开关从 serviceAccount 声明下移到 pod 声明允许按工作负载粒度关闭 token 挂载是符合最小权限实践的演进。镜像替换警告15.1.0 / 17.1.015.1.0 条目Add warning when original images are replaced的落点在 NOTES.txt安装/升级完成后chart 会对apprepository、authProxy、dashboard、frontend、kubeappsapis、ociCatalog、pinnipedProxy、postgresql等区块调用common.warnings.resources与common.warnings.modifiedImages当用户覆盖了原始镜像时输出警告。17.1.0 的Detect non-standard images是对同一机制的增强。17.1.0 还带来了 NOTES 中的 Bitnami Premium 推广文案见 NOTES.txt这两条正是 17.1.0 版本头下的两条 Changelog 记录。四、可靠性与运维特性主线PodDisruptionBudget15.2.0 / 15.3.0Changelog 分两次启用 PDB15.2.0Enable PodDisruptionBudgets与 15.3.0 的 part 2。当前仓库中每个组件目录都带有pdb.yaml模板例如 dashboard/pdb.yaml{{- if and .Values.dashboard.enabled .Values.dashboard.pdb.create }} apiVersion: {{ include common.capabilities.policy.apiVersion . }} kind: PodDisruptionBudget ... spec: {{- if .Values.dashboard.pdb.minAvailable }} minAvailable: {{ .Values.dashboard.pdb.minAvailable }} {{- end }} {{- if or .Values.dashboard.pdb.maxUnavailable ( not .Values.dashboard.pdb.minAvailable ) }} maxUnavailable: {{ .Values.dashboard.pdb.maxUnavailable | default 1 }} {{- end }}对应地values.yaml 中frontend以及 dashboard、apprepository、kubeappsapis 等组件的pdb.create默认为trueminAvailable/maxUnavailable默认为空、未设置时maxUnavailable回落到 1。这意味着默认安装即带 PDB升级跨越 15.2.0 的集群会新增 PDB 对象属于需要知晓的行为变化。健康检查演进12.4.1 / 15.1.112.4.1 条目Switch Readiness check to grpc. Fix home URLkubeappsapis/deployment.yaml 中 readinessProbe 改为执行grpc_health_probe -addr:{{ .Values.kubeappsapis.containerPorts.http }}用 gRPC 原生健康检查替代 HTTP 探测15.1.1 条目Use different liveness/readiness probesvalues 中每个组件同时暴露livenessProbe与readinessProbe两组参数frontend 示例见 L341-L362并支持customLivenessProbe/customReadinessProbe整体覆盖——这与 10.3.4 的Use custom probes if given一脉相承。模板侧的渲染逻辑是优先 custom 探针其次按 enabled 渲染默认探针deployment.yaml#L189-L200。资源预设14.4.0与镜像 digest10.3.014.4.0 引入resourcesPreset当前 values.yaml 中frontend默认为micro可选值注释明确为none, nano, micro, small, medium, large, xlarge, 2xlarge且注释提醒生产环境推荐直接设置resources。10.3.0 支持的 image digest 则对应 values 中各组件image.digest参数if set, will override the tag适合需要镜像不可变性保证的环境。五、存储、依赖与破坏性变更持久化默认值的历史反复Changelog 中持久化相关的条目值得单独梳理因为它直接影响升级后数据行为8.0.20Restore PG persistence disabling in Kubeapps chart——恢复 PostgreSQL 持久化默认关闭10.2.0Disable redis persistence by default——Redis 持久化默认关闭当前 values.yaml 中redis.master.persistence.enabled: false即为结果PostgreSQL 侧当前默认值同样关闭values.yaml 中postgresql.primary.persistence.enabled: false。PostgreSQL 升级与当前依赖快照的核对17.0.0 是最近一个破坏性版本feat!: Bump PostgreSQL to 17.x。需要特别说明的是当前仓库快照中 Chart.yaml 声明的 postgresql 依赖为16.x.xChart.lock锁定16.3.4与 Changelog 对 17.0.0 的描述存在差异。这提醒读者以 Changelog 判断上游发布意图以目标环境实际拉取到的 Chart 版本中的 Chart.yaml/Chart.lock 为准做升级核对。Chart.yaml 中依赖还带条件开关dependencies: - condition: packaging.flux.enabled name: redis repository: oci://registry-1.docker.io/bitnamicharts version: 20.x.x - condition: packaging.helm.enabled name: postgresql repository: oci://registry-1.docker.io/bitnamicharts version: 16.x.x - name: common repository: oci://registry-1.docker.io/bitnamicharts version: 2.x.xcondition字段解释了 7.8.11 条目No longer deploy helm packaging dependencies when helm not enabled不启用 Helm packaging 时 postgresql 子 chart 根本不会安装这与 values.yaml 中packaging.helm.enabled: true、packaging.carvel.enabled: false、packaging.flux.enabled: false的三开关设计一致。存储类与镜像拉取凭证15.3.7Global StorageClass as default value的落点是 values.yaml 中global.defaultStorageClass: 且旧参数global.storageClass已被标注DEPRECATED: use global.defaultStorageClass instead——升级时若仍在使用旧参数应迁移15.3.5Render imagePullSecrets对应 _helpers.tpl 中的kubeapps.imagePullSecrets公共模板各组件 Deployment如 apprepository/deployment.yaml统一通过它渲染同时支持global.imagePullSecrets按名称合并L94-L9512.1.4Custom postgres user name对应 values.yaml 中postgresql.auth.username: postgres、database: assets、existingSecret: 等可自定义项。其他值得记住的修复类条目12.2.1Dont regenerate self-signed certs on upgrade升级不再重新生成自签证书避免升级后证书漂移12.2.0Allow to use existing secret from authProxy.existingOauth2Secretoauth2-secret.yaml 的条件not .Values.authProxy.existingOauth2Secret保证提供已有 Secret 时不再生成新 Secret12.2.2 修复 NodePort Service 问题8.0.2Fix service issue with NodePorts的后续同类修复8.1.0 引入ingress.extraRules当前 values.yaml 中ingress.ingressClassName: 、ingress.extraRules: []7.1.0 为默认 authProxy 增加 Cookie refresh。六、分发形态与平台兼容主线标准化与 OCI 化7.0.0New major version: standardization、8.0.0Chart standardised奠定了当前 values 的参数分组结构12.3.0Make Helm charts 100% OCI之后所有依赖均来自oci://registry-1.docker.io/bitnamicharts见 Chart.yaml dependencies12.4.0 进一步为 Chart.yaml 设置 OCI annotationsCRD 升级7.2.0upgraded app repository CRD to v1 version对应 chart 内置的 crds/apprepository-crd.yaml集群版本约束10.1.0 引入kubeVersion10.1.1 允许 prerelease 版本匹配当前约束为1.21.0-0OpenShift 适配14.3.1seLinuxOptions 置空与 14.7.0Add automatic adaptation for Openshift restricted-v2 SCC两条共同支撑在 OpenShift 受限 SCC 环境下部署组件镜像版本线Chart.yaml 的annotations.images清单列出当前快照的全部组件镜像——kubeapps-apis、kubeapps-apprepository-controller、kubeapps-asset-syncer、kubeapps-dashboard、kubeapps-oci-catalog、kubeapps-pinniped-proxy均为2.12.1-debian-12-r0外加nginx 1.27.3-debian-12-r0与oauth2-proxy 7.7.1-debian-12-r4。Changelog 中大量 Release X updating components versions 条目指的就是这组镜像标签的批量同步。七、基于 Changelog 的升级核对清单将上述信息落到操作层面跨越任意两个版本升级前建议按以下顺序核对全部为只读检查动作划定区间在 CHANGELOG.md 中定位当前版本与目标版本之间的全部条目重点标记含feat!:、:boom:breaking或Update dependencies/Update Rediss subchart的条目识别破坏性默认值15.0.0安全默认值、17.0.0PostgreSQL 大版本这类 Major 条目需逐一确认现有 values 是否依赖旧默认值如seLinuxOptions、securityContext、持久化开关核对依赖锁定对比目标版本的 Chart.lock 中 redis/postgresql/common 的锁定版本与 digest确认离线仓库中已备好对应 OCI chart 包核对集群约束确认集群版本满足kubeVersion: 1.21.0-0若集群启用 PSArestricted或 OpenShiftrestricted-v2SCC确认所用 chart ≥ 14.1.0 / ≥ 14.7.0核对新增对象跨越 15.2.0 会新增各组件 PodDisruptionBudget跨越 12.3.0 后 chart 以 OCI 方式分发跨越 14.3.0 后 token 挂载行为受 pod 级automountServiceAccountToken控制——按区间判断是否需要预先调整 RBAC、PDB 配额或准入策略安装后验证helm install/upgrade完成后阅读 NOTES 输出NOTES.txt关注资源预设警告common.warnings.resources与镜像被替换警告common.warnings.modifiedImages。八、Changelog 关联文件速查文件与 Changelog 的关系chart/kubeapps/CHANGELOG.md版本历史主体338 条版本记录chart/kubeapps/Chart.yamlversion应与最新条目一致dependencies/condition对应 packaging 开关演进chart/kubeapps/Chart.lock子 chart 锁定版本与 digest升级核对依据chart/kubeapps/values.yaml各安全/探针/PDB/存储类条目的参数落点chart/kubeapps/templates/kubeappsapis/deployment.yamlgRPC readiness 探针、automountServiceAccountToken 的模板实现chart/kubeapps/templates/dashboard/pdb.yaml15.2.0/15.3.0 PDB 特性的模板实现chart/kubeapps/templates/NOTES.txt17.1.0 NOTES 文案与镜像/资源警告机制chart/kubeapps/crds/apprepository-crd.yaml7.2.0 CRD v1 升级的产物九、小结chart/kubeapps/CHANGELOG.md 表面上是一份 338 条记录的发布流水实质上浓缩了 Kubeapps Helm Chart 六年的演进主线标准化7.0.0/8.0.0→ OCI 分发12.3.0→ 安全加固14.1.0–15.0.0→ 高可用与运维特性15.1.0–15.3.7→ 依赖大版本升级17.0.0。掌握feat!:定位破坏性变更、small识别例行发布、Chart.lock 核对依赖锁定、values 与 templates 反向验证落点这四个动作就能把这份 Changelog 从历史档案变成可执行的升级决策依据。赞分享云原生后端前端【免费下载链接】kubeappsA web-based UI for deploying and managing applications in Kubernetes clusters项目地址https://gitcode.com/gh_mirrors/ku/kubeapps点击查看免费下载相关推荐Bitnami cAdvisor Helm Chart 版本演进全解析从 0.1.0 到 0.1.14 的发布历史与实现内幕Bitnami cAdvisor Helm Chart 版本演进全解析从 0.1.0 到 0.1.14 的发布历史与实现内幕 cAdvisorContain云原生容器编排CouchDB Helm Chart 4.5.6 发布说明解读从发布历史看 Apache CouchDB Helm Chart 的演进与配置实践CouchDB Helm Chart 4.5.6 发布说明解读从发布历史看 Apache CouchDB Helm Chart 的演进与配置实践 导读 本文以低代码人工智能AI Agent工作流自动化后端前端Bitnami Apache Flink Helm Chart 演进与安全加固实践从 0.1.0 到 2.0.x 的完整版本解读Bitnami Apache Flink Helm Chart 演进与安全加固实践从 0.1.0 到 2.0.x 的完整版本解读 本文以 bitnami/fl云原生容器编排创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考