前戏
在使用命令行的时候需要先登录
# 登录要指定 ip 和端口 [root@master1 ~]# argocd login 10.6.215.30:30495 WARNING: server certificate had error: x509: cannot validate certificate for 10.6.215.30 because it doesn't contain any IP SANs. Proceed insecurely (y/n)? y Username: admin Password: 'admin:login' logged in successfully Context '10.6.215.30:30495' updated
命令行
查看所有的应用
# 查看所有的应用,不需要指定 ns,查询的是所有 ns 下的 [root@master1 k8s-yaml]# argocd app list NAME CLUSTER NAMESPACE PROJECT STATUS HEALTH SYNCPOLICY CONDITIONS REPO PATH TARGET app01 https://kubernetes.default.svc demo1 default OutOfSync Missing <none> <none> https://gitee.com/zouzou_busy/devops_test.git app app02 https://kubernetes.default.svc demo2 default OutOfSync Missing <none> <none> https://gitee.com/zouzou_busy/devops_test.git app HEAD app03 https://kubernetes.default.svc demo3 default OutOfSync Missing <none> <none> https://gitee.com/zouzou_busy/devops_test.git app HEAD
查看某一个应用
# 查看某一个应用 [root@master1 k8s-yaml]# argocd app get app01 Name: app01 Project: default Server: https://kubernetes.default.svc Namespace: demo1 # 应用所在的 ns URL: https://10.6.215.30:32382/applications/app01 # 应用所在的 UI 地址 Repo: https://gitee.com/zouzou_busy/devops_test.git # 所同步的仓库地址 Target: Path: app # 仓库里的路径 SyncWindow: Sync Allowed Sync Policy: <none> # 同步的策略 Sync Status: OutOfSync from (d7306f4) # 同步的状态 Health Status: Missing # 健康状态 GROUP KIND NAMESPACE NAME STATUS HEALTH HOOK MESSAGE Service demo1 myapp OutOfSync Missing # 应用的状态 apps Deployment demo1 myapp OutOfSync Missing
同步某一个应用
# 同步 app01 的应用 [root@master1 k8s-yaml]# argocd app sync app01 TIMESTAMP GROUP KIND NAMESPACE NAME STATUS HEALTH HOOK MESSAGE 2022-08-18T21:40:18+08:00 Service demo1 myapp OutOfSync Missing 2022-08-18T21:40:18+08:00 apps Deployment demo1 myapp OutOfSync Missing 2022-08-18T21:40:18+08:00 Service demo1 myapp Synced Healthy 2022-08-18T21:40:19+08:00 apps Deployment demo1 myapp OutOfSync Missing deployment.apps/myapp created 2022-08-18T21:40:19+08:00 Service demo1 myapp Synced Healthy service/myapp created 2022-08-18T21:40:19+08:00 apps Deployment demo1 myapp Synced Progressing deployment.apps/myapp created Name: app01 Project: default Server: https://kubernetes.default.svc Namespace: demo1 URL: https://10.6.215.30:32382/applications/app01 Repo: https://gitee.com/zouzou_busy/devops_test.git Target: Path: app SyncWindow: Sync Allowed Sync Policy: <none> Sync Status: Synced to (d7306f4) Health Status: Progressing Operation: Sync Sync Revision: d7306f4c729378979e1972a2cf857a9847ba0b8e Phase: Succeeded Start: 2022-08-18 21:40:18 +0800 CST Finished: 2022-08-18 21:40:19 +0800 CST Duration: 1s Message: successfully synced (all tasks run) GROUP KIND NAMESPACE NAME STATUS HEALTH HOOK MESSAGE Service demo1 myapp Synced Healthy service/myapp created apps Deployment demo1 myapp Synced Progressing deployment.apps/myapp created
查看某个应用的 yaml 清单
# 查看某个应用的 yaml 清单 [root@master1 ~]# argocd app get app02 -o yaml metadata: creationTimestamp: "2022-08-18T13:06:31Z" generation: 323 managedFields: - apiVersion: argoproj.io/v1alpha1 fieldsType: FieldsV1 fieldsV1: f:spec: .: {} f:destination: .: {} f:namespace: {} f:server: {} f:project: {} f:source: .: {} f:path: {} f:repoURL: {} f:targetRevision: {} f:syncPolicy: .: {} f:syncOptions: {} f:status: .: {} f:health: {} f:summary: {} f:sync: .: {} f:comparedTo: .: {} f:destination: {} f:source: {} manager: Go-http-client operation: Update time: "2022-08-18T15:10:29Z" - apiVersion: argoproj.io/v1alpha1 fieldsType: FieldsV1 fieldsV1: f:status: f:health: f:status: {} f:history: {} f:operationState: .: {} f:finishedAt: {} f:message: {} f:operation: .: {} f:initiatedBy: .: {} f:username: {} f:retry: {} f:sync: .: {} f:revision: {} f:syncOptions: {} f:syncStrategy: .: {} f:hook: {} f:phase: {} f:startedAt: {} f:syncResult: .: {} f:resources: {} f:revision: {} f:source: .: {} f:path: {} f:repoURL: {} f:targetRevision: {} f:reconciledAt: {} f:resources: {} f:sourceType: {} f:summary: f:images: {} f:sync: f:comparedTo: f:destination: f:namespace: {} f:server: {} f:source: f:path: {} f:repoURL: {} f:targetRevision: {} f:revision: {} f:status: {} manager: argocd-application-controller operation: Update time: "2022-08-18T15:10:31Z" name: app02 namespace: argocd resourceVersion: "7947672" uid: 6deb20f8-abf8-4a05-807c-388a22bdbb0d spec: # 我们定义的资源清单 destination: namespace: demo2 server: https://kubernetes.default.svc project: default source: path: app # 仓库里的资源路径 repoURL: https://gitee.com/zouzou_busy/devops_test.git # 仓库地址 targetRevision: HEAD syncPolicy: # 同步策略 syncOptions: - CreateNamespace=true # 自动创建命名空间 status: health: status: Healthy history: - deployStartedAt: "2022-08-18T13:57:42Z" deployedAt: "2022-08-18T13:57:55Z" id: 0 revision: 30f61b0cbc32d1dfc9992893a2f94c7ad21f0d9e source: path: app repoURL: https://gitee.com/zouzou_busy/devops_test.git targetRevision: HEAD - deployStartedAt: "2022-08-18T14:21:22Z" deployedAt: "2022-08-18T14:21:23Z" id: 1 revision: 64f304bd426b0d6e23eb7850901418d453a31257 source: path: app repoURL: https://gitee.com/zouzou_busy/devops_test.git targetRevision: HEAD - deployStartedAt: "2022-08-18T14:31:45Z" deployedAt: "2022-08-18T14:31:52Z" id: 2 revision: 30f61b0cbc32d1dfc9992893a2f94c7ad21f0d9e source: path: app repoURL: https://gitee.com/zouzou_busy/devops_test.git targetRevision: HEAD - deployStartedAt: "2022-08-18T15:10:30Z" deployedAt: "2022-08-18T15:10:31Z" id: 3 revision: 7228459e2b9afebe7c54ff3bad4216ce2ebcdcf9 source: path: app repoURL: https://gitee.com/zouzou_busy/devops_test.git targetRevision: HEAD operationState: finishedAt: "2022-08-18T15:10:31Z" message: successfully synced (all tasks run) operation: initiatedBy: username: admin retry: {} sync: revision: 7228459e2b9afebe7c54ff3bad4216ce2ebcdcf9 syncOptions: - CreateNamespace=true syncStrategy: hook: {} phase: Succeeded startedAt: "2022-08-18T15:10:30Z" syncResult: resources: - group: "" hookPhase: Running kind: Service message: service/myapp unchanged name: myapp namespace: demo2 status: Synced syncPhase: Sync version: v1 - group: apps hookPhase: Running kind: Deployment message: deployment.apps/myapp configured name: myapp namespace: demo2 status: Synced syncPhase: Sync version: v1 revision: 7228459e2b9afebe7c54ff3bad4216ce2ebcdcf9 source: path: app repoURL: https://gitee.com/zouzou_busy/devops_test.git targetRevision: HEAD reconciledAt: "2022-08-19T01:58:06Z" resources: - health: status: Healthy kind: Service name: myapp namespace: demo2 status: Synced version: v1 - group: apps health: status: Healthy kind: Deployment name: myapp namespace: demo2 status: Synced version: v1 sourceType: Directory summary: images: - zouzou0214/myapp:v3 sync: comparedTo: destination: namespace: demo2 server: https://kubernetes.default.svc source: path: app repoURL: https://gitee.com/zouzou_busy/devops_test.git targetRevision: HEAD revision: 7228459e2b9afebe7c54ff3bad4216ce2ebcdcf9 status: Synced