简介
Argo CD 是以 Kubernetes 作为基础设施,遵循声明式 GitOps 理念的持续交付(continuous delivery, CD)工具,支持多种配置管理工具,包括 ksonnet/jsonnet、kustomize 和 Helm 等。它的配置和使用非常简单,并且自带一个简单易用的可视化界面。
按照官方定义,Argo CD 被实现为一个 Kubernetes 控制器,它会持续监控正在运行的应用,并将当前的实际状态与 Git 仓库中声明的期望状态进行比较,如果实际状态不符合期望状态,就会更新应用的实际状态以匹配期望状态。
部署到k8s
使用helm chart
部署完之后可以配置一个nginx ingress进行外部访问:
这样就可以通过域名加Nodeport的方式进行访问.
使用yaml
argocd CLI
argocd CLI是argocd的命令行工具.
安装
其他平台可以从Release v2.8.4 · argoproj/argo-cd · GitHub这里进行下载.
登录
登录到argocd server:
登录完之后会生成一个配置文件,配置文件路径为:
常用命令
使用示例
使用清单文件
示例清单文件:
参数解释:
-
syncPolicy : 指定自动同步策略和频率,不配置时需要手动触发同步。
-
syncOptions : 定义同步方式。
>
- CreateNamespace=true : 如果不存在这个 namespace,就会自动创建它。
-
automated : 检测到实际状态与期望状态不一致时,采取的同步措施。
Argo CD 默认情况下每 3 分钟会检测 Git 仓库一次,用于判断应用实际状态是否和 Git 中声明的期望状态一致,如果不一致,状态就转换为 OutOfSync
。默认情况下并不会触发更新,除非通过 syncPolicy
配置了自动同步。
如果嫌周期性同步太慢了,也可以通过设置 Webhook 来使 Git 仓库更新时立即触发同步。具体的使用方式会放到后续的教程中,本文不再赘述。
仓库dev路径下:
最后创建application即可:
打开argocd的web页面可以看到新创建的应用。
使用argocd客户端工具
参考链接