用途:Kargo 是一个不带主观偏好的持续晋升平台,用 GitOps 原则管理期望状态在环境间的晋升,而由 ArgoCD 负责把 Git 中的期望状态同步到实际状态,二者互补。本技能提供从安装到流水线编排的完整参考。
安装:依赖 Helm v3.13.1+、预装 cert-manager 的 Kubernetes 集群,可选 ArgoCD v2.13.0+ 与 Argo Rollouts v1.7.2+。可用 Helm 安装:helm install kargo oci://ghcr.io/akuity/kargo-charts/kargo --namespace kargo --create-namespace --wait;也可用一键脚本 curl -L https://raw.githubusercontent.com/akuity/kargo/main/hack/quickstart/install.sh | sh。401 报错多为 Helm 版本过低,403 可尝试 docker logout ghcr.io。
核心概念:Project 是组织晋升流水线的租户单元,映射到 Kubernetes 命名空间;Warehouse 监控仓库新制品版本并打包为 Freight;Freight 是引用具体制品版本的元制品,保证相关制品一起在流水线中流转;Stage 是晋升目标,串联成流水线;Promotion 在生命周期阶段间移动代码与配置变更。
主要能力:支持镜像选择策略(SemVer、Lexical、Digest、NewestBuild)、Git 提交选择策略与表达式过滤、路径过滤;促销步骤含 git-clone、git-commit、git-push、git-open-pr、git-wait-for-pr、git-merge-pr、git-clear,配置管理含 kustomize-set-image/build、helm-template、helm-update-chart、yaml-update、json-update,ArgoCD 集成含 argocd-update,以及文件操作 copy/delete、外部集成 http/compose-output。表达式语言支持 ctx、vars、outputs 与 commitFrom/imageFrom/chartFrom、success()/failure()/always()、semverDiff 等函数。验证通过 AnalysisTemplate 与 soak time 实现,支持自动晋升策略与多种流水线模式。
使用方式:通过 YAML 定义 Project、Warehouse、Stage、ProjectConfig 等资源,用 CLI 执行 kargo login、create/get/delete project、refresh stage、promote、approve、verify stage、create credentials 等操作。
限制:资料未提供收费、价格与性能数据,未给出完整安全加固清单;部分字段需按实际集群调整。