加载中…
个人资料
SkyPhy_Lab
SkyPhy_Lab
  • 博客等级:
  • 博客积分:0
  • 博客访问:7,200
  • 关注人气:1
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
正文 字体大小:

操作教程丨通过KubeOperator应用商店快速上手ArgoCD

(2020-08-06 16:00:41)
标签:

kubernetes

分类: 云计算与数据中心
操作教程丨通过KubeOperator应用商店快速上手ArgoCD
深圳凡悟致

操作教程丨通过KubeOperator应用商店快速上手Argo CD

什么是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节点查看应用的运行状态

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有