日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Application管理

本文介紹如何使用GitOps系統(tǒng)管理應用,包括創(chuàng)建部署單個應用、更新和回滾應用。

前提條件

創(chuàng)建和部署應用

本文以創(chuàng)建echo-server-demo應用為例,創(chuàng)建應用并將其部署至ACK集群,該集群的APIServer地址為https://47.97.XX.XX:6443

說明

若由于網(wǎng)絡原因導致您無法訪問GitHub,您也可以將https://github.com/AliyunContainerService/gitops-demo.git替換為https://code.aliyun.com/shuwei.hsw/gitops-demo.git進行訪問。

通過ArgoCD控制臺創(chuàng)建和部署

  1. 登錄ArgoCD UI,具體操作,請參見通過ArgoCD UI方式登錄

  2. 在ArgoCD UI左側導航欄選擇Applications,然后單擊+ NEW APP

  3. 在彈出的面板配置以下信息,然后單擊CREATE進行創(chuàng)建。

    區(qū)域

    參數(shù)

    參數(shù)值

    GENERAL

    Application Name

    echo-server-demo

    Project Name

    default

    SYNC POLICY

    在下拉列表中選擇Automatic

    參數(shù)取值如下:

    • Manual:當Git端有變更時,需要用戶手動執(zhí)行同步動作將其部署至目標集群。

    • Automatic:ArgoCD Server每隔3分鐘自動檢測Git端的變更并將其自動部署至目標集群。

    SYNC OPTIONS

    勾選AUTO-CREATE NAMESPACE

    SOURCE

    Repository URL

    在下拉列表選擇已有Git Repo,此處選擇https://github.com/AliyunContainerService/gitops-demo.git

    Revision

    HEAD

    Path

    manifests/helm/echo-server

    DESTINATION

    Cluster URL/Cluster Name

    在下拉列表中選擇目標集群。

    Namespace

    echo-server-demo

    HELM

    VALUES FILES

    values.yaml

  4. 創(chuàng)建完成后,在Application頁面,即可看到echo-server-demo的應用狀態(tài)。

    如果SYNC POLICY選擇的是Manual方式,需要手動點擊SYNC,將應用同步部署至目標集群。應用的StatusHealthySynced,表示已經(jīng)成功同步。

    image.png

通過ArgoCD CLI創(chuàng)建和部署

  1. 執(zhí)行以下命令,創(chuàng)建echo-server-demo應用。

    argocd app create echo-server-demo --repo https://github.com/AliyunContainerService/gitops-demo.git --path  manifests/directory/production --dest-namespace echo-server-demo --dest-server https://47.97.XX.XX:6443 --sync-policy none

    預期輸出:

    application 'echo-server-demo' created

    命令行參數(shù)解釋如下表所示。

    參數(shù)

    說明

    repo

    該應用所引用的Git源倉庫地址。

    path

    echo-server-demo示例應用的YAML編排文件所在的子目錄。

    dest-server

    目標集群APIServer地址。

    dest-namespace

    目標集群命名空間。

    sync-policy

    應用的同步策略。默認為none,可選值為autonone

    • auto:表示GitOps系統(tǒng)每隔一段時間就會自動檢測Git源倉庫中echo-server實例應用的變動并自動將其部署到目標集群。

    • none:表示需要用戶手動執(zhí)行同步動作將應用部署到目標集群。

  2. 執(zhí)行以下命令,將echo-server-demo應用同步部署到目標集群。

    argocd app sync echo-server-demo

    預期輸出:

    TIMESTAMP                  GROUP        KIND         NAMESPACE                 NAME         STATUS      HEALTH        HOOK  MESSAGE
    2022-10-17T16:43:20+08:00  apps         Deployment   echo-server-demo          echo-server  OutOfSync   Missing
    2022-10-17T16:43:20+08:00               Service      echo-server-demo          echo-server  OutOfSync   Missing
    2022-10-17T16:43:20+08:00               Service      echo-server-demo          echo-server  Synced      Progressing
    2022-10-17T16:43:20+08:00               Service      echo-server-demo          echo-server  Synced      Progressing         service/echo-server-demo created
    2022-10-17T16:43:20+08:00  apps         Deployment   echo-server-demo          echo-server  OutOfSync   Missing             deployment.apps/echo-server-demo created
    2022-10-17T16:43:20+08:00  apps         Deployment   echo-server-demo          echo-server  Synced      Progressing         deployment.apps/echo-server-demo created
    
    Name:               echo-server-demo
    Project:            default
    Server:             https://47.97.XX.XX:6443
    Namespace:          echo-server-demo
    URL:                https://127.0.0.1:65384/applications/echo-server-demo
    Repo:               https://github.com/AliyunContainerService/gitops-demo.git
    Target:
    Path:               manifests/directory/production
    SyncWindow:         Sync Allowed
    Sync Policy:        <none>
    Sync Status:        Synced to  (02af62b)
    Health Status:      Progressing
    
    Operation:          Sync
    Sync Revision:      02af62bf21e76f53ebfcc282c45865d2308c****
    Phase:              Succeeded
    Start:              2022-10-17 16:43:19 +0800 CST
    Finished:           2022-10-17 16:43:20 +0800 CST
    Duration:           1s
    Message:            successfully synced (all tasks run)
    
    GROUP  KIND        NAMESPACE         NAME              STATUS  HEALTH       HOOK  MESSAGE
           Service     echo-server-demo  echo-server-demo  Synced  Progressing        service/echo-server-demo created
    apps   Deployment  echo-server-demo  echo-server-demo  Synced  Progressing        deployment.apps/echo-server-demo created

查看應用列表

通過ArgoCD控制臺查看

  1. 在ArgoCD UI左側導航欄選擇Applications即可查看應用列表。

  2. 單擊echo-server-demo應用名稱,即可查看應用詳情,展示應用相關的Kubernetes資源的拓撲結構及相應狀態(tài)。

    image.png

通過ArgoCD CLI查看

執(zhí)行以下命令,查看應用列表。

argocd app list

預期輸出:

NAME         CLUSTER                     NAMESPACE         PROJECT  STATUS  HEALTH   SYNCPOLICY  CONDITIONS  REPO                                                       PATH                            TARGET
echo-server  https://47.97.XX.XX:6443    echo-server-demo  default  Synced  Healthy  <none>      <none>      https://github.com/AliyunContainerService/gitops-demo.git  manifests/directory/production

更新應用

在GitOps應用發(fā)布模型下,所有關于應用的變更都需要在Git源倉庫中提交,再將變更同步部署至目標集群。

  1. 在Git源倉庫中提交變更內(nèi)容。

  2. 執(zhí)行以下命令,同步部署最新應用到目標集群。

    argocd app sync echo-server-demo
  3. 執(zhí)行以下命令,訪問應用。

    curl XX.XX.XX.XX:8080/version    #替換XX.XX.XX.XX為應用的IP地址。

    預期輸出:

    "Hello Echo Server v2.0"

回滾應用

通過ArgoCD控制臺回滾

  1. 在ArgoCD UI左側導航欄選擇Applications在應用列表中找到echo-server-demo應用并單擊應用名稱。

  2. 在應用詳情頁面單擊HISTORY AND ROLLBACK,在彈出的應用歷史版本中,選擇要回滾到的目標版本,單擊右上角彈出的Rollback

    image

  3. 等待回滾完成后,回到應用詳情頁面驗證應用版本。

通過ArgoCD CLI回滾

  1. 執(zhí)行以下命令,查看已有且可用的歷史版本。

    argocd app history echo-server-demo

    預期輸出:

    ID  DATE                           REVISION
    0   2022-10-17 16:43:20 +0800 CST   (02af62b)
    1   2022-10-17 16:52:49 +0800 CST   (56ae547)

    當前新版本REVISION56ae547,序列號為1。

  2. 執(zhí)行以下命令,將應用回滾到REVISION02af62b的歷史版本。

    argocd app rollback echo-server-demo 0

    待回滾完成后,繼續(xù)驗證訪問應用。

  3. 執(zhí)行以下命令,訪問應用。

    curl XX.XX.XX.XX:8080/version    #替換XX.XX.XX.XX為應用的IP地址。

    預期輸出:

    "Hello Echo Server v1.0"