評估及遷移 Cloud Foundry

本文說明如何評估現有的 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 的管理員唯讀權限或更高權限進行驗證。

執行評估

  1. 驗證要指定的基礎架構。

    cf curl /v2/info
  2. 執行指令,產生包含評估報告的試算表。

    kf migrate scan-cf-cluster report.xlsx
  3. 查看評估結果。

    如果您打算分享評估結果,可以遮蓋任何不想分享的資訊。

遷移

請按照下列步驟,從 CF 遷移實體:

  1. 建立遷移計畫,說明遷移作業。

  2. 編輯遷移計畫,自訂遷移作業。

  3. 套用遷移計畫,執行遷移作業。

以下各節將詳細說明這些步驟。

遷移範圍

執行遷移作業時,您首先要決定遷移範圍。範圍會決定您要遷移的 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
    ...

產生遷移計畫

  1. 請確認您已使用 CF CLI 登入 CF Foundation。

  2. 根據所需的遷移範圍執行遷移作業,其中:

    • MY_ORG 會指定機構名稱。
    • MY_SPACE 會指定聊天室的名稱。
    • MY_APP 會指定應用程式名稱。
    1. 為整個 CF 基礎架構產生遷移計畫。

      kf migrate plan > plan.yaml
    2. 產生機構的遷移計畫。

      kf migrate plan --cf-org MY_ORG > plan.yaml
    3. 產生聊天室的遷移計畫

      kf migrate plan --cf-org MY_ORG --cf-space MY_SPACE > plan.yaml
    4. 為應用程式產生遷移計畫。

      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 實體:

  1. 請確認您已將 .kubeconfig 設為指定 Kf 叢集。

  2. 請確認您有權存取執行完整 Kf 安裝作業的 GKE 叢集。也就是說,您已執行下列指令來連線至叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
       --project=CLUSTER_PROJECT_ID \
       --zone=CLUSTER_LOCATION
  3. 請確認 Kf 叢集中沒有任何現有的聊天室名稱,以免與遷移計畫中參照的聊天室發生衝突。

    聊天室名稱的格式為 cf-org-cf-space。舉例來說,如果機構名稱為 myorg,聊天室名稱為 myspace,則 Kf 聊天室會是 myorg-myspace

  4. 套用遷移計畫。

    kf migrate apply -v --plan plan.yaml

    建議使用詳細旗標 -v,但非必要。這個標記會使指令輸出用於執行遷移作業的 Kf 指令。