1.7.4. 더 이상 사용되지 않는 API 업데이트


소스 클러스터에서 더 이상 사용되지 않는 API를 사용하는 경우 MTC(Migration Toolkit for Containers) 웹 콘솔에서 마이그레이션 계획을 생성할 때 다음 경고 메시지가 표시됩니다.

Some namespaces contain GVKs incompatible with destination cluster

세부 사항 보기를 클릭하여 네임스페이스 및 호환되지 않는 API를 볼 수 있습니다. 이 경고 메시지는 마이그레이션을 차단하지 않습니다.

MTC(Migration Toolkit for Containers)를 사용하여 마이그레이션하는 동안 더 이상 사용되지 않는 API는 Kubernetes 오브젝트의 Velero Backup #1에 저장됩니다. Velero Backup을 다운로드하고, 더 이상 사용되지 않는 API yaml 파일을 추출한 후 oc convert 명령으로 업데이트할 수 있습니다. 그런 다음 대상 클러스터에서 업데이트된 API를 생성할 수 있습니다.

프로세스

  1. 마이그레이션 계획을 실행합니다.
  2. MigPlan 사용자 정의 리소스 (CR)를 확인합니다.

    $ oc describe migplan <migplan_name> -n openshift-migration 
    1
    1
    MigPlan CR의 이름을 지정합니다.

    출력은 다음과 유사합니다.

    metadata:
      ...
      uid: 79509e05-61d6-11e9-bc55-02ce4781844a 
    1
    
    status:
      ...
      conditions:
      - category: Warn
        lastTransitionTime: 2020-04-30T17:16:23Z
        message: 'Some namespaces contain GVKs incompatible with destination cluster.
          See: `incompatibleNamespaces` for details'
        status: "True"
        type: GVKsIncompatible
      incompatibleNamespaces:
      - gvks: 
    2
    
        - group: batch
          kind: cronjobs
          version: v2alpha1
        - group: batch
          kind: scheduledjobs
          version: v2alpha1
    1
    MigPlan CR UID를 기록합니다.
    2
    gvks 섹션에 나열된 더 이상 사용되지 않는 API를 기록합니다.
  3. MigPlan UID와 관련된 MigMigration 이름을 가져옵니다.

    $ oc get migmigration -o json | jq -r '.items[] | select(.metadata.ownerReferences[].uid=="<migplan_uid>") | .metadata.name' 
    1
    1
    MigPlan CR UID를 지정합니다.
  4. MigMigration 이름과 연관된 MigMigration UID를 가져옵니다.

    $ oc get migmigration <migmigration_name> -o jsonpath='{.metadata.uid}' 
    1
    1
    MigMigration 이름을 지정합니다.
  5. MigMigration UID와 관련된 Velero Backup 이름을 가져옵니다.

    $ oc get backup.velero.io --selector migration-initial-backup="<migmigration_uid>" -o jsonpath={.items[*].metadata.name} 
    1
    1
    MigMigration UID를 지정합니다.
  6. 스토리지 공급자의 명령을 실행하여 Velero Backup의 콘텐츠를 로컬 머신으로 다운로드합니다.

    • AWS S3:

      $ aws s3 cp s3://<bucket_name>/velero/backups/<backup_name> <backup_local_dir> --recursive 
      1
      1
      버킷, 백업 이름 및 로컬 백업 디렉터리 이름을 지정합니다.
    • GCP:

      $ gsutil cp gs://<bucket_name>/velero/backups/<backup_name> <backup_local_dir> --recursive 
      1
      1
      버킷, 백업 이름 및 로컬 백업 디렉터리 이름을 지정합니다.
    • Azure:

      $ azcopy copy 'https://velerobackups.blob.core.windows.net/velero/backups/<backup_name>' '<backup_local_dir>' --recursive 
      1
      1
      백업 이름과 로컬 백업 디렉터리 이름을 지정합니다.
  7. Velero Backup 아카이브 파일을 추출합니다.

    $ tar -xfv <backup_local_dir>/<backup_name>.tar.gz -C <backup_local_dir>
  8. 더 이상 사용되지 않는 각 API의 오프라인 모드에서 oc convert를 실행합니다.

    $ oc convert -f <backup_local_dir>/resources/<gvk>.json
  9. 대상 클러스터에서 변환된 API를 생성합니다.

    $ oc create -f <gvk>.json
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동