Migrate to Containers 설치

이 주제에서는 처리 클러스터에 Migrate to Containers를 설치하는 방법을 설명합니다.

처리 클러스터는 Migrate to Containers 구성요소가 설치된 Google Kubernetes Engine(GKE) 또는 GKE Enterprise 클러스터이며 프로덕션 클러스터에 배포하기 전에 VM을 마이그레이션하는 데 사용됩니다.

이 주제에서 안내하는 단계에 따라 migctl 명령줄 도구 또는 Google Cloud Console을 사용해 필수 Migrate to Containers 구성요소를 이미 만든 GKE 클러스터에 설치합니다.

마이그레이션된 VM을 프로덕션 클러스터에 이미지로 배포한 후에는 처리 클러스터가 더 이상 새 마이그레이션을 수행하는 데 필요하지 않다고 추정하여 처리 클러스터를 삭제할 수 있습니다.

migctl 정보

Migrate to Containers에는 Google Cloud Console 지원 기능 외에 모든 파트를 수행하는 데 사용할 수 있는 migctl 명령줄 도구가 포함되어 있습니다.

  • Google Cloud에서 Google Kubernetes Engine(GKE) 또는 GKE Enterprise 처리 클러스터를 사용할 경우 Cloud Shell에서 migctl을 실행하세요.

  • 베어메탈용 Google Distributed Cloud Virtual 처리 클러스터에 Google 분산 클라우드 가상을 사용할 때 관리 워크스테이션에 migctl을 설치하고 실행할 수 있습니다.

migctl을 다운로드하는 방법은 Migrate to Containers 다운로드를 참조하세요.

시작하기 전에

Migrate to Containers 설치

Google Cloud용 migctl

migctl 명령어를 사용하여 Migrate to Containers를 설치하고 마이그레이션에 필요한 기본사항으로 구성합니다.

  1. Container Registry 및 Cloud Storage에 액세스하기 위한 서비스 계정을 만들었는지 확인하고 서비스 계정 구성의 설명대로 JSON 키 파일을 다운로드합니다.

  2. Google Cloud 콘솔에서 GKE 메뉴로 이동합니다.

    GKE 메뉴로 이동

  3. 클러스터 목록에서 처리 클러스터로 사용할 클러스터를 찾아 연결 버튼을 클릭합니다.

  4. 클러스터에 연결 대화상자의 명령줄 액세스 밑에서 Cloud Shell에서 실행을 클릭하여 Cloud Shell에서 연결 명령어를 실행합니다.

    gcloud container clusters get-credentials my-cluster --zone us-central1-c --project my-project
    
  5. Cloud Shell에서 migctl setup install 명령어를 실행하고 설치 서비스 계정을 지정하여 처리 클러스터에서 Migrate to Containers 구성요소를 설정합니다.

    migctl setup install --json-key=m4a-install.json
    
  6. migctl doctor 명령어를 실행하여 Migrate to Containers 설치를 확인합니다.

    설치가 완료되기 전에 다음과 같은 메시지가 표시될 수 있습니다. 그러면 설치가 완료될 때까지 몇 분 정도 기다렸다가 migctl doctor를 실행합니다.

    migctl doctor
    [!] Deployment
        Validation checks failed.
    

    다음 출력 예시에서 체크표시는 Migrate to Containers가 성공적으로 배포되었으며 필요한 데이터 저장소가 구성되었음을 나타냅니다.

    migctl doctor
    [✓] Deployment
    [✓] Docker registry
    [✓] Artifacts repo
    [!] Source Status
    

    Docker 레지스트리 또는 아티팩트 저장소와 연관된 오류가 있으면 데이터 저장소 정의를 참조하세요.

베어메탈용 Google Distributed Cloud Virtual의 migctl

  1. 기본 프로젝트 ID를 설정합니다.
    gcloud config set project project-id
  2. 관리 워크스테이션에 migctl을 배포합니다.
    wget https://modernize-release.storage.googleapis.com/v1.15.0/linux/amd64/migctl
    sudo cp migctl /usr/local/bin/
    sudo chmod +x /usr/local/bin/migctl
    . <(migctl completion bash)
  3. migctl setup install 명령어를 실행하여 처리 클러스터에서 Migrate to Containers 구성요소를 설정합니다.
    migctl setup install --anthos-bm --gcp-project myproject --gcp-region us-central1 --json-key m4a-install.json
    --gcp-project, --gcp-region, --json-key를 포함한 모든 인수가 지정되면 migctl에서 Container Registry 및 Cloud Storage 각각에 기본 Docker 레지스트리와 아티팩트 저장소를 만듭니다. 즉, 마이그레이션 이미지와 아티팩트가 Google Cloud에 업로드됩니다. 다른 Docker 레지스트리를 구성하고 마이그레이션의 기본값으로 설정하거나 특정 마이그레이션에 사용할 수 있도록 설정할 수 있습니다.
  4. migctl doctor 명령어를 실행하여 Migrate to Containers 설치를 확인합니다. 설치가 완료되기 전에 다음과 같은 메시지가 표시될 수 있습니다. 그러면 설치가 완료될 때까지 몇 분 정도 기다렸다가 migctl doctor를 실행합니다.
    migctl doctor
      [!] Deployment
          Validation checks failed.
    다음 출력 예시에서 체크표시는 Migrate to Containers가 성공적으로 배포되었지만 필요한 데이터 저장소를 아직 구성하지 않았음을 나타냅니다.
    migctl doctor
      [✓] Deployment
      [!] Docker registry
      [!] Artifacts repo
      [!] Source Status
  5. 데이터 저장소 정의에 설명된 대로 클러스터에 필요한 데이터 저장소를 구성합니다.
  6. 필요한 경우 HTTPS 프록시 구성에 설명된 대로 아웃바운드 인터넷 액세스를 위한 HTTPS 프록시를 구성하세요.

콘솔

  1. Google Cloud 콘솔에서 Migrate to Containers 페이지를 엽니다.

    Migrate to Containers 페이지로 이동

  2. 클러스터 처리 탭을 클릭하여 사용 가능한 클러스터가 포함된 테이블을 표시합니다.

  3. 처리 클러스터 추가를 클릭합니다.

  4. 마이그레이션할 워크로드 유형을 Linux 또는 Windows로 선택한 후 다음을 선택합니다.

  5. 드롭다운 목록에서 클러스터를 선택한 후 다음을 선택합니다.

  6. 아티팩트 저장소의 버킷을 선택합니다.

    기본적으로 Migrate to Containers에는 지정된 버킷 이름의 Cloud Storage가 사용됩니다. 필요한 경우 여기에서 버킷 이름을 설정할 수 있습니다. 데이터 저장소 정의에 설명된 요구사항을 검토해야 합니다.

  7. 이미지 저장소 프로젝트 이름을 선택합니다.

    기본적으로 Migrate to Containers는 Container Registry의 현재 프로젝트를 사용합니다. 여기에서 필요에 따라 프로젝트 이름을 변경할 수 있습니다. 데이터 저장소 정의에 설명된 요구사항을 검토해야 합니다.

  8. 계속을 클릭합니다.

  9. Cloud Storage에 액세스하기 위해 사용되는 아티팩트 저장소 서비스 계정을 지정합니다. 새 서비스 계정을 만들거나 기존 계정을 선택할 수 있습니다. 자세한 내용은 서비스 계정 구성을 참조하세요.

  10. 계속을 클릭하여 설정을 검토한 후 배포를 클릭하여 클러스터에 Migrate to Containers를 설치합니다.

  11. 설치가 완료되면 처리 중인 클러스터 탭에서 클러스터 이름이 준비 상태로 표시됩니다.

설치 옵션

다양한 크기 및 구성으로 클러스터를 만들 수 있습니다. 예를 들어 여러 노드 풀이 있는 클러스터가 있을 수 있습니다. 그런 다음 마이그레이션을 처리하는 데 노드 풀 1개, 워크로드를 실행하는 데 노드 풀 1개, 기타 작업을 위한 다른 노드 풀을 사용합니다.

기본적으로 Migrate to Containers는 모든 클러스터 노드에 설치됩니다. Migrate to Containers에서 사용되는 노드를 제어하려면 migctl setup install 명령어에 --node-selectors--tolerations 옵션을 사용하면 됩니다.

  • --node-selectors LABEL1=VALUE1,LABEL2=VALUE2,...

    Migrate to Containers에서 사용되는 노드를 결정하는 라벨 값 쌍의 쉼표로 구분된 목록을 지정합니다. 라벨 사용에 대한 자세한 내용은 라벨 만들기 및 관리를 참조하세요.

  • --tolerations KEY1=VALUE1:EFFECT1,KEY2=VALUE2:EFFECT2,...

    노드 taint를 함께 지정하는 효과와 연결된 쉼표로 구분된 목록 키-값 쌍을 지정합니다. toleration은 키-값과 효과로 지정된 노드 taint에서 포드를 실행할 수 있음을 의미합니다.

    EFFECT 또는 VALUE를 생략할 경우 toleration은 KEY,VALUE(모든 EFFECT의 경우) 또는 KEY(모든 VALUE:EFFECT의 경우)로 taint를 일치시킵니다.

    노드 taint에 대한 자세한 내용은 노드 taint로 예약 관리를 참조하세요.

다음 단계