前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Argo CD-基于Kubernetes的声明式持续交付工具

Argo CD-基于Kubernetes的声明式持续交付工具

作者头像
有点技术
发布2020-07-13 11:20:34
3.1K0
发布2020-07-13 11:20:34
举报
文章被收录于专栏:有点技术有点技术

什么是Argo CD?

Argo CD是用于Kubernetes的声明性GitOps连续交付工具。

为什么选择Argo CD?

应用程序定义,配置和环境应为声明性的,并受版本控制。应用程序部署和生命周期管理应该是自动化的,可审核的且易于理解的。

argo cd 架构

Argo CD被实现为kubernetes控制器,该控制器连续监视正在运行的应用程序, 并将当前的活动状态与所需的目标状态(在Git存储库中指定)进行比较。其活动状态偏离目标状态的已部署应用程序被标记为OutOfSync。Argo CD报告并可视化差异,同时提供了自动或手动将实时状态同步回所需目标状态的功能。在Git存储库中对所需目标状态所做的任何修改都可以自动应用并反映在指定的目标环境中。

支持的部署方式

  • kustomize应用程序
  • helm chat
  • ksonnet应用
  • jsonnet文件
  • YAML / json清单的普通目录
  • 任何配置为配置管理插件的自定义配置管理工具

使用argocd进行持续部署

安装argo cd

代码语言:javascript
复制
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

下载argocd cli

从github 下载最新版本的argo cli https://github.com/argoproj/argo-cd/releases/latest

mac 环境可以这样安装:

代码语言:javascript
复制
brew tap argoproj/tap
brew install argoproj/tap/argocd

暴露argocd api/ui

代码语言:javascript
复制
kubectl port-forward svc/argocd-server -n argocd 8080:443
argo login 127.0.0.1:8080

默认密码为argocd-server pod的名称,如果重新生成,可以这样修改密码为 password

代码语言:javascript
复制
kubectl -n argocd patch secret argocd-secret \\n  -p '{"stringData": {\n    "admin.password": "$2a$10$rRyBsGSHK6.uc8fntPwVIuLVHgsAhAX7TcdrqW/RADU0uh7CaChLa",\n    "admin.passwordMtime": "'$(date +%FT%T%Z)'"\n  }}'

注册集群到argocd

代码语言:javascript
复制
argocd cluster add #列出当前配置的上下文列表
argocd cluster add kubernetes-admin@kubernetes

从Git存储库创建应用程序并进行同步

代码语言:javascript
复制
argocd app create guestbook --repo https://github.com/argoproj/argocd-example-apps.git --path guestbook --dest-server https://kubernetes.default.svc --dest-namespace default
argocd app get guestbook
argocd app sync guestbook

通过argo server ui访问

在页面上可以看到各个资源的状态、配置、以及关联关系

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 有点技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是Argo CD?
  • 为什么选择Argo CD?
  • argo cd 架构
  • 支持的部署方式
  • 使用argocd进行持续部署
    • 安装argo cd
      • 下载argocd cli
        • 暴露argocd api/ui
          • 注册集群到argocd
            • 从Git存储库创建应用程序并进行同步
              • 通过argo server ui访问
              相关产品与服务
              持续部署
              CODING 持续部署(CODING Continuous Deployment,CODING-CD)用以管理软件在经过构建之后的发布和部署交付过程,可以无缝对接上游 Git 仓库、制品仓库实现全自动化部署,同时支持 Webhook 等外部对接能力,方便集成各种开发、运维工具。在配以合适的技术架构、运维工具的基础上,可以方便地实现蓝绿发布、灰度发布(金丝雀发布)、滚动发布、快速回滚等功能。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档