由于设置的是手动同步,因此需要点一下下面的 SYNC 进行同步:
在弹出框点击 SYNCHRONIZE,确认同步:
等待同步完成。
在 Argo CD 上点击应用进入查看详情,如下图:
方式二:使用 CLI 创建 APP
argocd app create myapp2 \ --repo http://11.8.36.29/root/argocd-lab.git \ --path quickstart --dest-server \ https://kubernetes.default.svc \ --dest-namespace devops
使用 argocd 命令查看创建的应用:
# 列出应用 ❯ argocd app list NAME CLUSTER NAMESPACE PROJECT STATUS HEALTH SYNCPOLICY CONDITIONS REPO PATH TARGET myapp https://kubernetes.default.svc devops default Synced Healthy <none> <none> http://11.8.36.29/root/argocd-lab.git quickstart main # 查看 myapp 应用 ❯ argocd app get myapp Name: myapp Project: default Server: https://kubernetes.default.svc Namespace: devops URL: https://11.8.36.159:32313/applications/myapp Repo: http://11.8.36.29/root/argocd-lab.git Target: main Path: quickstart SyncWindow: Sync Allowed Sync Policy: <none> Sync Status: Synced to main (82baed1) Health Status: Healthy GROUP KIND NAMESPACE NAME STATUS HEALTH HOOK MESSAGE Service devops myapp Synced Healthy service/myapp created apps Deployment devops myapp Synced Healthy deployment.apps/myapp created
方式三:使用 YAML 文件创建
apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: myapp namespace: argocd spec: destination: namespace: devops # 部署应用的命名空间 server: https://kubernetes.default.svc # API Server 地址 project: default # 项目名 source: path: quickstart # 资源文件路径 repoURL: http://11.8.36.29/root/argocd-lab.git # Git 仓库地址 targetRevision: main # 分支名
7、版本升级
将 myapp 应用从手动同步改成自动同步。点击 APP DETAILS -> SYNC POLICY,点击 ENABLE AUTO- SYNC
编辑 myapp 资源文件,将版本从 v1 改为 v2,点击 Commit changes,提交更改:
等待一会 Argo CD 会自动更新应用,如果等不及可以点击 Refresh,Argo CD 会去立即获取最新的资源 文件。可以看到此时 myapp Deployment 会新创建 v2 版本的 Replicaset,v2 版本的 Replicaset 会创 建并管理 v2 版本的 Pod。
8、版本回滚
升级到 v2 版本以后, v1 版本的 Replicaset 并没有被删除,而是继续保留,这是为了方便我们回滚应 用。在 myapp 应用中点击 HISTORY AND ROLLBACK 查看历史记录,可以看到有 2 个历史记录:
假设刚刚上线的 v2 版本出现了问题,需要回滚回 v1 版本,那么可以选中 v1 版本,然后点击 Rollback 进行回滚:
在回滚的时候需要禁用 AUTO-SYNC 自动同步,点击 OK 确认即可:
等待一会可以看到此时已经回滚成功,此时 Pod 是 v1 版本的,并且由于此时线上的版本并不是 Git 仓 库中最新的版本,因此此时同步状态是 OutOfSync: