本文說明如何評估現有的 Cloud Foundry (CF) Foundation,以及如何將 CF Foundation、組織、空間或應用程式遷移至 Kf。
遷移適合性評估
使用 kf migrate scan-cf-cluster
指令產生報告,其中包含對 CF Foundation 遷移就緒性的評估。您可以將報表格式設定為試算表 (建議做法) 或文字檔。
事前準備
- Kf CLI。如需安裝說明,請參閱「安裝 Kf CLI」。
cf
CLI 已安裝為cf
。cf
CLI 必須位於路徑中。cf
CLI 必須透過 CF Foundation 的管理員唯讀權限或更高權限進行驗證。
執行評估
驗證要指定的基礎架構。
cf curl /v2/info
執行指令,產生包含評估報告的試算表。
kf migrate scan-cf-cluster report.xlsx
查看評估結果。
如果您打算分享評估結果,可以遮蓋任何不想分享的資訊。
遷移
請按照下列步驟,從 CF 遷移實體:
建立遷移計畫,說明遷移作業。
編輯遷移計畫,自訂遷移作業。
套用遷移計畫,執行遷移作業。
以下各節將詳細說明這些步驟。
遷移範圍
執行遷移作業時,您首先要決定遷移範圍。範圍會決定您要遷移的 CF 實體,以及執行遷移作業所需的權限:
事前準備
如要執行遷移作業,您需要:
- 如何建立遷移計畫:使用 Kf 命令列介面。如需安裝說明,請參閱「安裝 Kf CLI」。
- 套用遷移計畫:執行 Kf 的 GKE 叢集。如需安裝操作說明,請參閱「安裝 Kf」。
- 存取安裝了 Cloud Foundry 的叢集。
- 指定 CF 基金會的 CF CLI。
- 所需的 CF Foundation 權限,取決於所需的遷移範圍,如上所示。
建立遷移計畫
使用 kf migrate plan
指令建立遷移計畫。
根據預設,指令會將遷移計畫寫入標準輸出內容。您通常會將輸出內容重新導向至 yaml 檔案,以便在套用前自訂計畫。舉例來說,下列指令會將輸出內容寫入標準輸出內容:
kf migrate plan
將輸出內容重新導向至 yaml 檔案:
kf migrate plan > plan.yaml
執行 kf migrate plan
指令時,您應該會在指令視窗中看到輸出內容,如下列表單所示,列出指令執行的步驟,以及任何警告或遷移問題:
kf migrate plan > plan.yaml Checking CF CLI is available Checking CF CLI is authenticated ... WARNING: plan has issues Issues with domain "apps.internal" in space "kf-team-acceptance": E04 - internal domains are not supported Issues with application "spring-music" in space "kf-team-app": E14 - app manifest must have a single process Issues with service instance "logspinner-1" in space "kf-team-app": E10 - syslog drain configuration is not supported ...
產生遷移計畫
請確認您已使用 CF CLI 登入 CF Foundation。
根據所需的遷移範圍執行遷移作業,其中:
- MY_ORG 會指定機構名稱。
- MY_SPACE 會指定聊天室的名稱。
- MY_APP 會指定應用程式名稱。
為整個 CF 基礎架構產生遷移計畫。
kf migrate plan > plan.yaml
產生機構的遷移計畫。
kf migrate plan --cf-org MY_ORG > plan.yaml
產生聊天室的遷移計畫
kf migrate plan --cf-org MY_ORG --cf-space MY_SPACE > plan.yaml
為應用程式產生遷移計畫。
kf migrate plan --cf-org MY_ORG --cf-space MY_SPACE --cf-app MY_APP > plan.yaml
如果執行上述任一指令後看到下列錯誤訊息:
You are not authorized to perform the requested action CF-NotAuthorized 10003
您沒有必要的權限,無法讀取必要的 CAPI 端點。
編輯遷移計畫
查看並視需要修改產生的遷移計畫,以解決任何錯誤。
套用遷移計畫
使用 kf migrate apply
指令套用遷移計畫並遷移 CF 實體:
請確認您已將
.kubeconfig
設為指定 Kf 叢集。請確認您有權存取執行完整 Kf 安裝作業的 GKE 叢集。也就是說,您已執行下列指令來連線至叢集:
gcloud container clusters get-credentials CLUSTER_NAME \ --project=CLUSTER_PROJECT_ID \ --zone=CLUSTER_LOCATION
請確認 Kf 叢集中沒有任何現有的聊天室名稱,以免與遷移計畫中參照的聊天室發生衝突。
聊天室名稱的格式為 cf-org-cf-space。舉例來說,如果機構名稱為
myorg
,聊天室名稱為myspace
,則 Kf 聊天室會是myorg-myspace
。套用遷移計畫。
kf migrate apply -v --plan plan.yaml
建議使用詳細旗標
-v
,但非必要。這個標記會使指令輸出用於執行遷移作業的 Kf 指令。