网站首页 > 博客文章 正文
什么是Argo CD?
Argo CD是一个为Kubernetes而生的、遵循声明式GitOps理念的持续部署工具,其优势为:
1、应用定义、配置和环境信息是声明式的,并且可以进行版本控制;
2、应用部署和生命周期管理是全自动化的,是可审计的,清晰易懂;
3、Argo CD是一个独立的部署工具,支持对多个环境、多个Kubernetes集群上的应用进行统一部署和管理。
Argo CD源自哪里?
Argo CD是由Intuit主导的开源项目,是Argo项目集合中的一个,Argo项目集合还包括Argo Workflow、Argo Rollout、Argo Event等项目。4月8日,CNCF技术监督委员会(Technical Oversight Committee,TOC)投票决定接受Argo作为孵化级别的托管项目。
Intuit是AWS的重度客户,其在CNCF云原生计算基金会的Technical Oversight Committee占有一席。Intuit原来的基础设施是基于AWS EC2的,并采用Spinnaker来部署和管理应用。他们近年来开始转向Kubernetes,并且开发了Argo CD替代 Spinnaker。Intuit使用Kubernetes及ArgoCD的一些数据,如图1所示。
Argo CD在Github的开源工程中是非常活跃的。截止目前,共有183个Contributor和超过 2700个Star,并且在持续健康地增长。
Argo CD与其他CD工具(例如Spinnaker、Tekton、Jenkins X)等的具体对比请参考图3。
Argo CD在CI /CD流程中的位置和作用
如图4所示,借助Argo CD在Kubernetes集群上落地CD,主要通过以下三个步骤来完成。
1、将应用的Git仓库分为Application Deployment file和Docker file两个库。
■ Docker file用于存放应用的核心代码以及Docker build file,后续将会直接打包成Docker image;
■ Application Deployment file可以Kustomize、Helm、Ksconnet、Jsonnet 等多种Kubernetes包管理工具来定义;
■ 以Helm为例,Chart中所使用到的Image由Docker file Code打包完成后提供。
2、使用Jenkins或Gitlab等CI工具进行自动化构建打包,并将Docker image push到Harbor镜像仓库。
3、使用Argo CD部署应用。
■ Argo CD可以独立于集群之外,并且支持管理多个Kubernetes集群;
■ 在Argo CD上配置好应用部署的相关信息后,Argo CD便可以正常工作,Argo CD会自动和代码仓库Application deployment file的内容进行校验,当代码仓库中应用属性等信息发生变化时,Argo CD会自动同步更新Kubernetes集群中的应用;
■ 应用启动时,会从Harbor镜像仓库拉取Docker image。
在应用商店中快速上手 Argo CD
在KubeOperator容器平台上部署Argo CD非常简单,KubeOperator已经在Kubeapps Plus应用商店直接支持一键部署Argo CD,你只需要去Github下载离线包上传即可使用。
接下来,通过以下几个步骤,将会为大家介绍Argo CD的具体安装及在CI/CD中的使用方法。
1、在Kubeapps Plus应用商店找到Argo CD应用
2、部署Argo CD
3、根据需要修改默认配置
4、安装 Argo CD,并等待服务就绪
5、通过NodePort的方式访问Argo CD
6、在Argo CD UI界面来创建应用
6.1 点击“+ NEW APP”按钮创建应用;
6.2 填写应用名称:guestbook;项目:default;同步策略:手动;
6.3 配置来源。这里配置的是Git ,代码仓库的URL配置为 Github上的项目地址为:https://github.com/argoproj/argocd-example-apps.git;Revision选择:HEAD;项目路径选择:guestbook;
6.4 选择应用部署的目标集群:https://kubernetes.default.svc ,因为此次的Argo CD部署在Kubernetes集群当中,默认Argo CD已经帮我们添加好当前所在的Kubernetes集群,直接使用即可。Namespace选择:my-app。Namespcae可以在Kubernetes集群上使用# kubectl create namespace my-app 命令来创建;
6.5 填写完成后,点击 “CREATE” 按钮进行创建;
6.6 由于尚未部署应用程序,并且尚未创建Kubernetes资源,所以Status还是OutOfSync状态,因此我们还需要点击 “SYNC”按钮进行同步(部署)。同时也可以安装argocd客户端,使用Argo CD CLI进行同步:
# argocd app sync guestbook
7、等待应用创建完成
8、在Kubernetes集群中查看应用
猜你喜欢
- 2024-11-09 Argo CD实践-如何在ArgoCD中创建应用程序App
- 2024-11-09 OpenShift 4 之 GitOps(6)用ArgoCD部署MongoDB主从集群
- 2024-11-09 GitOps(8)使用OpenShift的ArgoCD Operator
- 2024-11-09 Argo CD发布零日漏洞补丁(零日漏洞防御)
- 2024-11-09 为什么CI和CD需要分道扬镳?(ci和cd是什么意思)
- 2024-11-09 数据库的GITOPS第二部分 – ATLAS OPERATOR和ARGOCD
- 2024-11-09 极狐GitLab 和 ArgoCD 集成实现 GitOps
- 2024-11-09 OpenShift 4 之 GitOps(1)安装ArgoCD环境
- 2024-11-09 最全的GitOps工具选型,30+款工具随你挑
- 2024-11-09 在K8S中使用Argo CD做持续部署(k8s部署apollo)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)