Cloud Foundry 평가 및 마이그레이션

이 문서에서는 기존 Cloud Foundry(CF) Foundation(기반) 평가를 수행하는 방법과 CF Foundation(기반), Organization(조직), Space(공간) 또는 App(앱)을 Kf로 마이그레이션하는 방법을 설명합니다.

마이그레이션 적합성 평가

kf migrate scan-cf-cluster 명령어를 사용하여 CF Foundation(기반)의 마이그레이션 준비 상태 평가가 포함된 보고서를 생성합니다. 보고서는 스프레드시트(권장) 또는 텍스트 파일 형식으로 지정할 수 있습니다.

기본 요건

  • Kf CLI입니다. 설치 안내는 Kf CLI 설치를 참조하세요.
  • cf CLIcf로 설치되어야 합니다.
  • cf CLI가 경로에 존재해야 합니다.
  • cf CLI가 CF Foundation(기반)에서 관리자 읽기 전용 권한 이상으로 인증되어야 합니다.

평가 수행

  1. 타겟팅할 Foundation(기반)의 유효성을 검사합니다.

    cf curl /v2/info
  2. 명령어를 실행하여 평가 보고서가 포함된 스프레드시트를 생성합니다.

    kf migrate scan-cf-cluster report.xlsx
  3. 평가를 검토합니다.

    평가를 공유할 계획인 경우 공유하지 않을 정보를 수정할 수 있습니다.

마이그레이션

다음 단계를 수행하여 CF에서 항목을 마이그레이션합니다.

  1. 마이그레이션을 설명하는 마이그레이션 계획을 만듭니다.

  2. 마이그레이션 계획을 수정하여 마이그레이션을 맞춤설정합니다.

  3. 마이그레이션 계획을 적용하여 마이그레이션을 수행합니다.

다음 섹션에서는 이러한 단계를 자세히 설명합니다.

마이그레이션 범위

마이그레이션을 수행할 때 가장 먼저 결정해야 할 사항은 마이그레이션 범위입니다. 이 범위로 마이그레이션할 CF 항목 및 마이그레이션을 수행하는 데 필요한 권한이 결정됩니다.

  • 전체 Foundation(기반) 또는 Organization(조직): CF Foundation(기반)에 대한 관리자 읽기 전용 권한 이상이 있어야 합니다.

  • 단일 Space(공간) 또는 App(앱): Space(공간) 개발자 권한 이상이 있어야 합니다.

기본 요건

마이그레이션을 수행하려면 다음을 수행해야 합니다.

  • 마이그레이션 계획 만들기: Kf CLI입니다. 설치 안내는 Kf CLI 설치를 참조하세요.
  • 마이그레이션 계획 적용: Kf가 실행되는 GKE 클러스터입니다. 설치 안내는 Kf 설치를 참조하세요.
  • Cloud Foundry가 설치된 클러스터에 대한 액세스 권한
  • CF Foundation(기반)을 타겟팅한 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는 Organization(조직)의 이름을 지정합니다.
    • MY_SPACE는 Space(공간)의 이름을 지정합니다.
    • MY_APP은 App(앱) 이름을 지정합니다.
    1. 전체 CF Foundation(기반)의 마이그레이션 계획을 생성합니다.

      kf migrate plan > plan.yaml
    2. Organization(조직)의 마이그레이션 계획을 생성합니다.

      kf migrate plan --cf-org MY_ORG > plan.yaml
    3. Space(공간)의 마이그레이션 계획을 생성합니다.

      kf migrate plan --cf-org MY_ORG --cf-space MY_SPACE > plan.yaml
    4. App(앱)의 마이그레이션 계획을 생성합니다.

      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. Kf 클러스터를 타겟팅하도록 .kubeconfig를 설정했는지 확인합니다.

  2. 전체 Kf 설치를 실행하는 GKE 클러스터에 액세스할 수 있는지 확인합니다. 즉, 다음 명령어를 실행하여 클러스터에 연결한 상태여야 합니다.

    gcloud container clusters get-credentials CLUSTER_NAME \
       --project=CLUSTER_PROJECT_ID \
       --zone=CLUSTER_LOCATION
  3. Kf 클러스터에 마이그레이션 계획에서 참조하는 Space(공간)와 충돌하는 기존 Space(공간) 이름이 없는지 확인합니다.

    Space(공간) 이름은 cf-org-cf-space 형식입니다. 예를 들어 Organization(조직) 이름이 myorg이고 Space(공간) 이름이 myspace이면 Kf space는 myorg-myspace입니다.

  4. 마이그레이션 계획을 적용합니다.

    kf migrate apply -v --plan plan.yaml

    세부정보 수준 플래그 -v가 권장되지만 필수는 아닙니다. 이 플래그를 사용하면 명령어에서 마이그레이션을 수행하는 데 사용되는 Kf 명령어를 출력합니다.