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

使用onectl自動化遷移應(yīng)用至ACK One GitOps

應(yīng)用中心已不再進行功能升級并逐步停止維護,您可以通過onectl自動化遷移,將應(yīng)用中心的應(yīng)用快速遷移至ACK One GitOps。本文介紹如何使用onectl自動化遷移應(yīng)用中心應(yīng)用至ACK One GitOps。

遷移原理

image
  • onectl依賴應(yīng)用中心主控集群和ACK One Fleet實例兩者的KubeConfig,將應(yīng)用中心主控集群中,與ArgoCD對應(yīng)的資源Cluster(Secret)、Repo(Secret)和Application都遷移到ACK One Fleet實例中。其中Cluster的遷移是通過ACK One的關(guān)聯(lián)集群功能來實現(xiàn)。

  • Template type Application是個特例,onectl會將其模板內(nèi)容(資源YAML)記錄在本地目錄,以便您可以將其上傳至自己的Git倉庫,并經(jīng)由GitOps快速入門發(fā)布應(yīng)用到ACK One中。

  • 在onectl遷移完應(yīng)用之后,刪除應(yīng)用中心主控集群中的Application以斷開其與應(yīng)用的聯(lián)系,而與ACK One Fleet實例中的Application進行關(guān)聯(lián)。

前提條件

步驟一:配置onectl RAM用戶

RAM用戶登錄后才能將應(yīng)用中心的應(yīng)用遷移到ACK One GitOps,onectl會使用該用戶的AK、SK操作阿里云的云資源。該RAM用戶需要擁有AliyunAdcpFullAccess權(quán)限和ACK Template自定義相關(guān)權(quán)限。

  1. 為RAM用戶授予AliyunAdcpFullAccess權(quán)限,具體操作,請參見為RAM用戶授權(quán)

  2. 為RAM用戶授予ACK Template自定義權(quán)限策略。具體策略內(nèi)容如下。

    {
        "Action": [
            "cs:DescribeTemplates",
            "cs:DescribeTemplateAttribute"
        ],
        "Resource": [
            "*"
        ],
        "Effect": "Allow"
    }
  3. 執(zhí)行以下命令,配置onectl RAM用戶的AK、SK信息。

    此處僅配置Access Key IdAccess Key Secret

    onectl configure

    預(yù)期輸出:

    Configuring profile default ...
    Access Key Id [*********************NaY]: 
    Access Key Secret [***************************HUd]: 
    Ram Username []: 
    Default Kubeconfig Path (default is ~/.kube/config) []: 
    Saving profile[default] ...
    Done.

步驟二:配置所需環(huán)境變量

為了簡化遷移命令,ACK One Fleet實例的ID和應(yīng)用中心主控集群的ID被設(shè)置為環(huán)境變量,onectl會根據(jù)ClusterID自動獲取兩者的KubeConfig,保存在~/.onectl/目錄下。

export ACKONE_HUB_CLUSTER_ID=ccc47ca148d0147519f229bba********
export ARGOCD_CLUSTER_ID=ce4bb2004bb0e409eaa4c593d********

步驟三:遷移集群

執(zhí)行以下命令,將集群從應(yīng)用中心主控集群遷移至ACK One GitOps。

onectl migrate clusters -n appcenter

步驟四:遷移Git倉庫

執(zhí)行以下命令,將倉庫從應(yīng)用中心主控集群遷移至ACK One GitOps。

onectl migrate repos -n appcenter

(可選)步驟五:查看遷移狀態(tài)

執(zhí)行以下命令,查看資源狀態(tài)。

#onectl migrate status [clusters|repos|apps] -nappcenter

# 查看所有資源狀態(tài)。
onectl migrate status -nappcenter

# 查看單類資源狀態(tài)。
onectl migrate status clusters -nappcenter
onectl migrate status repos -nappcenter
onectl migrate status apps -nappcenter

預(yù)期輸出:

#################### Clusters Status ####################
All 1 clusters were attached successfully to ACK One ccc47ca148d0147519f229bbaea2963b6 !
CLUSTER                            STATE    MESSAGE
ce4bb2004bb0e409eaa4c593da9e2bc96  Succeed  

#################### Repositories Status ####################
All 1 repos were migrated successfully to ACK One ccc47ca148d0147519f229bbaea2963b6 !
STATE    REPO                                     TYPE  NAME              MESSAGE
Succeed  git@github.com:ivan-cai/gitops-demo.git  git   ivan-gitops-demo  

#################### Applications Status ####################
-------------------- Git/Helm Applications --------------------
Total 'Git/Helm' type applications: 1, success to migrate: 0, pending to migrate: 1
STATE    NAME       NAMESPACE  CLUSTER  STATUS  HEALTH  REPO  PATH  TARGET  MESSAGE
Pending  app-git-2  appcenter                                               application has not been migrated to ACK One ccc47ca148d0147519f229bbaea2963b6

-------------------- Template Applications --------------------
STATE    NAME            NAMESPACE  TEMPLATEID                            TEMPLATEPATH  MESSAGE
Pending  busybox-e2bc96  appcenter  3aa43610-cc02-463a-a600-629b2a97e887                application has not been migrated to ACK One ccc47ca148d0147519f229bbaea2963b6

步驟六:遷移應(yīng)用

onectl支持同時遷移一個或多個應(yīng)用,也支持同時遷移所有應(yīng)用,建議逐個遷移。

  • 執(zhí)行以下命令遷移一個或多個應(yīng)用。

    onectl migrate apps ${app1Name} -n appcenter

    預(yù)期輸出:

    Applications in source cluster (ArgoCD or AppCenter cluster):
    NAME       NAMESPACE  TYPE      TEMPLATEID
    app-git-2  appcenter  Git/Helm  
    will be migrated to ACK One ccc47ca148d0147519f*********b6. Please checking the source cluster and ACK One cluster. Are you sure to migrate the Applications? [Y/n] y
    
    Total 1 applications will be migrated to ACK One ccc47ca148d0147519f*********b6 ...
    -------------------- Git/Helm Applications --------------------
    Application appcenter/app-git-2 was migrated succeessfully.
    All 1 'Git/Helm' type applications has been migrated successfully o ACK One ccc47ca148d0147519f229bbaea2963b6.
    STATE    NAME       NAMESPACE  CLUSTER                     STATUS  HEALTH   REPO                                     PATH                        TARGET  MESSAGE
    Succeed  app-git-2  argocd     https://172.16.**.**:6443  Synced  Healthy  git@github.com:**/gitops-demo.git  manifests/helm/echo-server  main    
    
    -------------------- Template Applications --------------------
    No 'Template' type applications need to be migrated.
  • 執(zhí)行以下命令遷移所有應(yīng)用。

    onectl migrate apps -n appcenter --all

    預(yù)期輸出:

    Applications in source cluster (ArgoCD or AppCenter cluster):
    NAME            NAMESPACE  TYPE      TEMPLATEID
    app-git-2       appcenter  Git/Helm  
    busybox-e2bc96  appcenter  Template  3aa43610-cc02-463a-a600-629b2a97e887
    will be migrated to ACK One ccc47ca148d0147519f*********b6. Please checking the source cluster and ACK One cluster. Are you sure to migrate the Applications? [Y/n] y
    
    Total 2 applications will be migrated to ACK One ccc47ca148d0147519f*********b6 ...
    -------------------- Git/Helm Applications --------------------
    Application appcenter/app-git-2 was migrated succeessfully.
    All 1 'Git/Helm' type applications has been migrated successfully o ACK One ccc47ca148d0147519f229bbaea2963b6.
    STATE    NAME       NAMESPACE  CLUSTER                     STATUS  HEALTH   REPO                                     PATH                        TARGET  MESSAGE
    Succeed  app-git-2  argocd     https://172.16.**.**:6443  Synced  Healthy  git@github.com:**/gitops-demo.git  manifests/helm/echo-server  main    
    
    -------------------- Template Applications --------------------
    Total 1 'Template' type applications need to be migrated, the k8s resources' templates have been saved in '/tmp/appcentertemplates/', please pushing them to your Git repository, and then using ACK One GitOps to publish applications!
    NAME            NAMESPACE  TEMPLATEID                            TEMPLATENAME  TEMPLATEPATH                                           MESSAGE
    busybox-e2bc96  appcenter  3aa43610-cc02-463a-a600-629b2a97e887  busybox       /tmp/appcentertemplates/appcenter-busybox-e2bc96.yaml  

步驟七:移除應(yīng)用中心的應(yīng)用

在應(yīng)用中心主控集群中執(zhí)行以下命令,移除應(yīng)用中心的應(yīng)用。

重要
  • 確保應(yīng)用在ACK One GitOps中運行正常后,再移除應(yīng)用中心的應(yīng)用。

  • 以下命令行中,必須使用參數(shù)--cascade=false,否則在移除應(yīng)用時,實際運行在目標(biāo)集群中的K8s資源會被一起移除。

kubectl --kubeconfig ${ARGOCD_CLUSTER_KUBECONFIG} delete app ${appName}  -n appcenter --cascade=false

步驟八:卸載應(yīng)用中心組件

將應(yīng)用中心主控集群中所有應(yīng)用都遷移至ACK One GitOps,并確保應(yīng)用運行狀態(tài)正常后,且不再需要appcenter組件時,您可以通過組件管理頁面卸載appcenter組件。

  1. 登錄容器服務(wù)管理控制臺,在左側(cè)導(dǎo)航欄選擇集群

  2. 集群列表頁面,單擊目標(biāo)集群名稱,然后在左側(cè)導(dǎo)航欄,選擇運維管理 > 組件管理

  3. 在組件管理頁面,單擊應(yīng)用管理頁簽找到appcenter組件,單擊右下角的卸載。

相關(guān)文檔

您可以登錄ACK One GitOps查看應(yīng)用的運行狀態(tài),并通過ACK One GitOps管理應(yīng)用。具體操作,請參見ACK One GitOps最佳實踐