備份中心可用於應用的備份、恢複與遷移,通過安裝migrate-controller備份服務元件並配置相關許可權以開啟備份能力,實現多叢集和混合實境世界中應用的資料容災和應用遷移。
前提條件
開通相關雲端服務
已開通雲備份。相關計費,請參見雲備份計費方式與計費項目。
使用Cloud Backup備份檔案系統類別型儲存卷的資料(OSS、NAS、CPFS、本機存放區等類型儲存卷資料,以及混合雲情境中的儲存卷資料)。在使用之前,您需要參見下文開通雲備份服務並配置雲備份許可權。
當前備份中心僅使用阿里雲OSS儲存備份的應用。在使用阿里雲Object Storage Service之前,您需要參見下文配置OSS許可權。
開通快照服務不收取費用。建立快照後,阿里雲預設根據快照容量與時間長度隨用隨付,更多資訊,請參見快照計費。
如需使用ECS雲端硬碟快照備份阿里雲雲端硬碟類型儲存卷的資料,您需要先開通快照並參見下文配置許可權。
準備叢集
已建立v1.18及以上版本的叢集。具體操作,請參見建立Kubernetes託管版叢集、建立Kubernetes專有版叢集、建立叢集、通過控制台建立叢集或建立註冊叢集並接入本機資料中心叢集。關於升級叢集,請參見手動升級叢集。
若使用ACK託管叢集,需要建立cnfs-oss-****名稱的Bucket,便於許可權最小化管理及儲存備份的模板,例如cnfs-oss-backup。
備份中心不支援Flexvolume外掛程式叢集,若您需要使用備份功能,可以通過以下方式遷移至CSI。
若是無儲存叢集的Flexvolume外掛程式,建議您將儲存外掛程式遷移至CSI。具體操作,請參見將無儲存叢集的Flexvolume遷移至CSI。
其他情況,請加入DingTalk使用者群(DingTalk群號:35532895)諮詢。
背景資訊
隨著越來越多的應用運行在Kubernetes中,對應用進行定時的備份就顯得格外重要。備份中心可以有效防護由於意外情況導致服務長時間中斷而無法恢複的情況。區別於傳統的備份單機、備份磁碟的方案,基於Kubernetes的應用備份,主要關注於運行在Kubernetes中的應用及其資料、資來源物件、配置及整個命名空間等。
注意事項
ACK Serverless叢集Pro版、ACK Edge叢集使用備份中心時,與ACK託管叢集安裝及許可權配置的要求一致,具體操作,請參見ACK託管叢集。
ACK Serverless叢集基礎版暫不支援使用。
ACK Serverless叢集Pro版、ACK Edge叢集使用備份中心時,不支援備份儲存卷。
對於ACK Edge叢集,migrate-controller備份服務元件預設安裝在雲上節點並通過內網訪問OSS。
ACK託管叢集
步驟一:安裝migrate-controller備份服務元件
首次使用備份中心功能,需安裝備份服務元件;如果您已安裝,可忽略此步驟。
登入Container Service管理主控台,在左側導覽列選擇叢集。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇 。
在應用備份頁面,單擊開始安裝。
系統會自動檢測備份倉庫,若您未建立備份倉庫,請先建立備份倉庫,具體操作,請參見建立備份倉庫。
備份服務元件安裝完之後,會產生csdr的命名空間,在使用備份過程中,請勿刪除該命名空間。
若您已安裝該組件,但備份服務元件不是最新版本,請在應用備份頁面單擊開始升級,系統會自動將應用備份服務元件升級至最新版本。
步驟二:配置相關許可權
OSS許可權
ACK託管叢集建議以
cnfs-oss-***
名稱開頭的OSS Bucket作為備份中心的備份倉庫,無需配置OSS許可權。使用其他Bucket時需要參見下文ACK專有叢集配置相關OSS許可權,請參見步驟一:配置相關許可權。雲端硬碟快照和雲備份許可權
ACK託管叢集無需配置雲端硬碟快照和Cloud Backup許可權。
ACK專有叢集
步驟一:配置相關許可權
v1.7.7及以上版本的migrate-controller組件支援阿里雲雲端硬碟類型儲存備份跨地區恢複。如果需要使用該功能,請按如下自訂權限原則模板,為原RAM使用者補充授權ECS雲端硬碟快照相關權限原則。
建立RAM使用者。具體操作,請參見建立RAM使用者。
建立如下自訂權限原則。具體操作,請參見通過指令碼編輯模式建立自訂權限原則。
以下策略指令碼中,
oss:****
為OSS權限原則,ecs:****
為ECS雲端硬碟快照相關權限原則,hbr:****
為Cloud Backup權限原則。上述權限原則授予了所有OSS Bucket的許可權。如果您需要指定OSS的讀寫權限,請按以下樣本修改權限原則,將以下策略指令碼中的
mybackups
替換為您的OSS名稱。更多OSS細粒度授權配置資訊,請參見通過RAM對OSS進行許可權管理。為RAM使用者添加上述自訂的許可權。具體操作,請參見為RAM使用者授權。
為RAM使用者建立AccessKey。具體操作,請參見擷取AccessKey。
在ACK專有叢集中建立Secret。
為了保證您的AccessKey資訊只在您的叢集內安全使用,您需要先在叢集中使用AccessKey資訊部署一個名為alibaba-addon-secret的Secret資源,以降低泄露風險。
執行以下命令,建立命名空間csdr。
kubectl create ns csdr
執行以下命令,建立名為alibaba-addon-secret的Secret資源。
kubectl -n csdr create secret generic alibaba-addon-secret --from-literal='access-key-id=<your AccessKey ID>' --from-literal='access-key-secret=<your AccessKey Secret>'
您需要將上述代碼中的
<your AccessKey ID>
和<your AccessKey Secret>
替換為您在上一步擷取的AccessKey資訊。說明如果您在安裝migrate-controller備份服務元件後補充建立的Secret,請完成該建立後重啟kube-system下的migrate-controller組件。
步驟二:安裝migrate-controller備份服務元件
安裝migrate-controller備份服務元件。具體操作,請參見步驟一:安裝migrate-controller備份服務元件。
註冊叢集
v1.7.7及以上版本的migrate-controller組件支援阿里雲雲端硬碟類型儲存備份跨地區恢複。如果需要使用該功能,請更新onectl版本至v1.1.0,並執行onectl ram-user revoke --addon migrate-controller
命令,為原RAM使用者補充授權ECS雲端硬碟快照相關權限原則。
通過onectl安裝組件並配置許可權(推薦)
在本地安裝配置onectl。具體操作,請參見通過onectl管理註冊叢集。
執行以下命令,為migrate-controller組件配置RAM許可權。
onectl ram-user grant --addon migrate-controller
預期輸出:
Ram policy ack-one-registered-cluster-policy-migrate-controller granted to ram user ack-one-user-ce313528c3 successfully.
執行以下命令,安裝備份服務元件。
onectl addon install migrate-controller
預期輸出:
Addon migrate-controller, version **** installed.
使用onectl配置的OSS許可權範圍為所有的OSS Bucket,若您僅需要配置指定OSS Bucket的許可權,您可以通過以下方式修改onectl產生的OSS許可權,或者選擇手動方式安裝組件並配置許可權。具體操作,請參見下文手動安裝組件並配置許可權。
修改OSS許可權:修改已建立的自訂權限原則內容為以下內容。關於修改權限原則的具體操作,請參見修改自訂權限原則內容和備忘。
說明替換以下策略代碼中
mybackups
為您的OSS名稱。更多OSS細粒度的授權配置資訊,請參見通過RAM對OSS進行許可權管理。(可選)配置指向註冊叢集與OSS同一地區的OSS內網網段的路由。
已通過CEN、Express Connect、專線、VPN等方式與雲上VPC互連的註冊叢集,為提高備份資料的拉取速度,當註冊叢集與OSS處於同一地區時,備份中心會自動選擇以內網方式訪問OSS網域名稱,此時,您需要配置指向該地區OSS內網網段的路由。
關於線下IDC接入雲上VPC的相關內容,請參見接入方式介紹。
關於OSS內網網域名稱與VIP網段對照表,請參見OSS內網網域名稱與VIP網段對照表。
通過控制台安裝組件並配置許可權
步驟一:配置相關許可權
您需要為註冊叢集建立RAM使用者,為RAM使用者添加訪問雲資源的許可權,然後建立AccessKey。
建立RAM使用者。具體操作,請參見建立RAM使用者。
建立如下自訂權限原則。具體操作,請參見通過指令碼編輯模式建立自訂權限原則。
以下策略指令碼中,
oss:****
為OSS權限原則,ecs:****
為ECS雲端硬碟快照相關權限原則,hbr:****
為Cloud Backup權限原則。上述權限原則授予了所有OSS Bucket的許可權。如果您需要指定OSS的讀寫權限,請按以下樣本修改權限原則,將以下策略指令碼中的
mybackups
替換為您的OSS名稱。更多OSS細粒度授權配置資訊,請參見通過RAM對OSS進行許可權管理。為RAM使用者添加已建立的自訂許可權。具體操作,請參見為RAM使用者授權。
為RAM使用者建立AccessKey。具體操作,請參見擷取AccessKey。
在叢集中建立Secret。
為了保證您的AccessKey資訊只在您的叢集內安全使用,您需要先在叢集中使用AccessKey資訊部署一個名為alibaba-addon-secret的Secret資源,以降低泄露風險。
執行以下命令,建立命名空間csdr。
kubectl create ns csdr
執行以下命令,建立名為alibaba-addon-secret的Secret資源。
kubectl -n csdr create secret generic alibaba-addon-secret --from-literal='access-key-id=<your AccessKey ID>' --from-literal='access-key-secret=<your AccessKey Secret>'
您需要將上述代碼中的
<your AccessKey ID>
和<your AccessKey Secret>
替換為您在上一步擷取的AccessKey資訊。
步驟二:安裝migrate-controller備份服務元件
安裝migrate-controller備份服務元件。具體操作,請參見步驟一:安裝migrate-controller備份服務元件。
(可選)步驟三:配置指向註冊叢集與OSS同一地區的OSS內網網段的路由
已通過CEN、Express Connect、專線、VPN等方式與雲上VPC互連的註冊叢集,為提高備份資料的拉取速度,當註冊叢集與OSS處於同一地區時,備份中心會自動選擇以內網方式訪問OSS網域名稱,此時,您需要配置指向該地區OSS內網網段的路由。
關於線下IDC接入雲上VPC的相關內容,請參見接入方式介紹。
關於OSS內網網域名稱與VIP網段對照表,請參見OSS內網網域名稱與VIP網段對照表。