您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 订阅
  捐助
通过KubeOperator应用商店快速上手Argo CD
 
 
   次浏览      
 2020-6-29  
 
编辑推荐:
什么是Argo CD?Argo CD源自哪里?Argo CD在CI /CD流程中的位置和作用,在应用商店中快速上手 Argo CD等内容是本文的重点。
本文来自于kubernetes中文社区,由火龙果软件Anna编辑、推荐。

什么是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所示。

▲ 图1 Intuit对Kubernetes管理规模统计图

Argo CD在Github的开源工程中是非常活跃的。截止目前,共有183个Contributor和超过 2700个Star,并且在持续健康地增长。

▲图2 Argo CD 在 Gihub 上的 Star 增强趋势图

Argo CD与其他CD工具(例如Spinnaker、Tekton、Jenkins X)等的具体对比请参考图3。

▲图3 CD工具能力对比

Argo CD在CI /CD流程中的位置和作用

▲图4 借助于Argo CD在Kubernetes上的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应用

▲ 图5 在“Kubeapps Plus应用商店” 界面通过CD标签找到Argo CD

2、部署Argo CD

▲ 图6 在“应用详情” 点击“部署”按钮进行应用部署

3、根据需要修改默认配置

▲ 图7 在“应用编辑” 页面点击“提交”,进行应用创建

4、安装 Argo CD,并等待服务就绪

▲ 图8 在“我的应用界面” 页面点击“应用”,查看应用状态及其他信息

5、通过NodePort的方式访问Argo CD

▲ 图9 通过NodePort在浏览器访问Argo CD

▲ 图10 Argo CD登录成功后的界面

6、在Argo CD UI界面来创建应用

6.1 点击“+ NEW APP”按钮创建应用;

▲ 图11 在Argo CD UI界面来创建应用

6.2 填写应用名称:guestbook;项目:default;同步策略:手动;

▲ 图12 填写应用的相关信息

6.3 配置来源。这里配置的是Git ,代码仓库的URL配置为 Github上的项目地址为:https://github.com/argoproj/argocd-example-apps.git;Revision选择:HEAD;项目路径选择:guestbook;

▲ 图13 填写配置信息

6.4 选择应用部署的目标集群:https://kubernetes.default.svc ,因为此次的Argo CD部署在Kubernetes集群当中,默认Argo CD已经帮我们添加好当前所在的Kubernetes集群,直接使用即可。Namespace选择:my-app。Namespcae可以在Kubernetes集群上使用# kubectl create namespace my-app 命令来创建;

▲ 图14 填写集群描述信息

6.5 填写完成后,点击 “CREATE” 按钮进行创建;

▲ 图15 正式创建应用

6.6 由于尚未部署应用程序,并且尚未创建Kubernetes资源,所以Status还是OutOfSync状态,因此我们还需要点击 “SYNC”按钮进行同步(部署)。同时也可以安装argocd客户端,使用Argo CD CLI进行同步:# argocd app sync guestbook

▲ 图16 应用创建完成,处于“未同步”状态

▲ 图17 手动同步应用,开始部署应用

7、等待应用创建完成

▲ 图18 应用同步后部署成功

▲ 图19 点击部署的应用查看详情

8、在Kubernetes集群中查看应用

▲ 图20 在Kubernetes集群中的Master节点查看应用的运行状态

   
次浏览       
相关文章

云计算的架构
对云计算服务模型
云计算核心技术剖析
了解云计算的漏洞
相关文档

云计算简介
云计算简介与云安全
下一代网络计算--云计算
软浅析云计算
相关课程

云计算原理与应用
云计算应用与开发
CMMI体系与实践
基于CMMI标准的软件质量保证
最新活动计划
LLM大模型应用与项目构建 12-26[特惠]
QT应用开发 11-21[线上]
C++高级编程 11-27[北京]
业务建模&领域驱动设计 11-15[北京]
用户研究与用户建模 11-21[北京]
SysML和EA进行系统设计建模 11-28[北京]
 
最新文章
云原生架构概述
K8S高可用集群架构实现
容器云管理之K8S集群概述
k8s-整体概述和架构
十分钟学会用docker部署微服务
最新课程
云计算、微服务与分布式架构
企业私有云原理与构建
基于Kubernetes的DevOps实践
云平台架构与应用(阿里云)
Docker部署被测系统与自动化框架实践
更多...   
成功案例
北京 云平台与微服务架构设计
通用公司GE Docker原理与实践培训
某军工研究单位 MDA(模型驱动架构)
知名消费金融公司 领域驱动设计
深圳某汽车企业 模型驱动的分析设计
更多...