K8s API Deployment Investigation
工具对比表
ArgoCD | Flux | Jenkins X | ArgoWorkflow | Jenkins | Tekton | Bitbucket Pipelines | |
---|---|---|---|---|---|---|---|
官方文档 | ArgoCD 文档 | Flux 文档 | Jenkins X 3.x | Argo Workflows | Jenkins | Tekton | Bitbucket Pipelines |
简述 | GitOps CD,无CI/流水线,功能完善(GUI、SSO、多集群、模板化等) | GitOps CD,功能简单 | GitOps CI+CD,基于Tekton,GUI简单 | 适合并行任务,CD不易实现 | CI+CD 流水线引擎 | CI+CD 流水线 | CI+CD 流水线 |
部署方式 | 直接部署在K8s中 | Git驱动部署 | Git驱动部署,组件多 | 直接部署在K8s中 | 裸机部署简单,Docker问题多 | 直接部署K8s | 无需部署 |
API调用 | 有 Swagger UI,社区 Python 库:argocd,argocd-python-client | 官方 Go 库,无 Python 库:GitOps Toolkit | - | 官方 Python 库:argo-workflows | 社区 Python 库:python-jenkins | 官方 Python SDK:Tekton Python SDK | 官方 Python 库:Atlassian API |
实现 Connection 部署 | 支持 Helm 模板部署、删除、自定义镜像版本控制(PR/自动),存在 bug #14097 | 支持 HelmRelease 管理部署与删除,版本控制方式灵活 | 安装困难,WebHook 域名问题,相关 issue,Tekton configMap 错误 | 暂未找到满足需求方式 | 使用 Shell/Python 模板渲染 YAML,无生命周期管理,镜像版本手动关联 | 使用 YAML 编写流水线,支持复用Tekton Hub中 CRD,支持间接控制 ArgoCD,ECR 认证复杂 | 类似 Jenkins/Tekton |
实现 Entity 部署 | 可配合Crossplane、ACK、Flamingo | 同样支持 Crossplane、ACK、terraform-controller | - | - | 使用 awscli/terraform 脚本或 Crossplane、ACK | 与 Jenkins 相似 | 与 Jenkins 相似 |