備份中心用於應用的備份、恢複與遷移,安裝migrate-controller備份服務元件並配置相關許可權以開啟備份能力,實現多叢集和混合實境世界中應用的資料容災和應用遷移。
前提條件
開通相關雲端服務
已開通雲備份。相關計費,請參見雲備份計費方式與計費項目。
使用Cloud Backup備份檔案系統類別型儲存卷的資料(OSS、NAS、CPFS、本機存放區等類型儲存卷資料,以及混合雲情境中的儲存卷資料)。在使用之前,您需要參見下文開通雲備份服務並配置雲備份許可權。
當前備份中心僅使用阿里雲OSS儲存備份的應用。在使用阿里雲Object Storage Service之前,您需要參見下文配置OSS許可權。
開通快照服務不收取費用。建立快照後,阿里雲預設根據快照容量與時間長度隨用隨付,更多資訊,請參見快照計費。
如需使用ECS雲端硬碟快照備份阿里雲雲端硬碟類型儲存卷的資料,您需要先開通快照並參見下文配置許可權。
準備叢集
已建立1.18及以上版本的叢集。請參見建立ACK託管叢集、建立ACK專有叢集、建立ACK Serverless叢集、建立Edge叢集或建立註冊叢集並接入本機資料中心叢集。關於升級叢集,請參見手動升級叢集。
若使用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使用者補充授權。
通過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網段對照表。