7.3. EUS-to-EUS 업데이트 중 워크로드 업데이트 방지


EUS (Extended Update Support) 버전에서 다음 버전으로 업데이트하는 경우 OpenShift Virtualization이 업데이트 프로세스 중 워크로드를 마이그레이션하거나 제거하지 않도록 자동 워크로드 업데이트를 수동으로 비활성화해야 합니다.

사전 요구 사항

  • OpenShift Container Platform의 EUS 버전을 실행 중이며 다음 EUS 버전으로 업데이트하려고 합니다. 그 사이에 홀수의 버전으로 아직 업데이트하지 않았습니다.
  • "EUS-to-EUS 업데이트를 수행하기 위한 준비"를 읽고 OpenShift Container Platform 클러스터와 관련된 경고 및 요구 사항을 알아봅니다.
  • OpenShift Container Platform 설명서의 지시에 따라 작업자 노드의 머신 구성 풀을 일시 중지했습니다.
  • 기본 자동 승인 전략을 사용하는 것이 좋습니다. 수동 승인 전략을 사용하는 경우 웹 콘솔에서 보류 중인 모든 업데이트를 승인해야 합니다. 자세한 내용은 "Manually a pending Operator update" 섹션을 참조하십시오.

절차

  1. 다음 명령을 실행하여 현재 workloadUpdateMethods 구성을 백업합니다.

    $ WORKLOAD_UPDATE_METHODS=$(oc get kv kubevirt-kubevirt-hyperconverged -n openshift-cnv -o jsonpath='{.spec.workloadUpdateStrategy.workloadUpdateMethods}')
  2. 다음 명령을 실행하여 모든 워크로드 업데이트 방법을 끕니다.

    $ oc patch hco kubevirt-hyperconverged -n openshift-cnv --type json -p '[{"op":"replace","path":"/spec/workloadUpdateStrategy/workloadUpdateMethods", "value":[]}]'

    출력 예

    hyperconverged.hco.kubevirt.io/kubevirt-hyperconverged patched

  3. 계속하기 전에 HyperConverged Operator를 업그레이드할 수 있는지 확인합니다. 다음 명령을 입력하고 출력을 모니터링합니다.

    $ oc get hco kubevirt-hyperconverged -n openshift-cnv -o json | jq ".status.conditions"

    예 7.1. 출력 예

    [
      {
        "lastTransitionTime": "2022-12-09T16:29:11Z",
        "message": "Reconcile completed successfully",
        "observedGeneration": 3,
        "reason": "ReconcileCompleted",
        "status": "True",
        "type": "ReconcileComplete"
      },
      {
        "lastTransitionTime": "2022-12-09T20:30:10Z",
        "message": "Reconcile completed successfully",
        "observedGeneration": 3,
        "reason": "ReconcileCompleted",
        "status": "True",
        "type": "Available"
      },
      {
        "lastTransitionTime": "2022-12-09T20:30:10Z",
        "message": "Reconcile completed successfully",
        "observedGeneration": 3,
        "reason": "ReconcileCompleted",
        "status": "False",
        "type": "Progressing"
      },
      {
        "lastTransitionTime": "2022-12-09T16:39:11Z",
        "message": "Reconcile completed successfully",
        "observedGeneration": 3,
        "reason": "ReconcileCompleted",
        "status": "False",
        "type": "Degraded"
      },
      {
        "lastTransitionTime": "2022-12-09T20:30:10Z",
        "message": "Reconcile completed successfully",
        "observedGeneration": 3,
        "reason": "ReconcileCompleted",
        "status": "True",
        "type": "Upgradeable" 1
      }
    ]
    1
    OpenShift Virtualization Operator의 업그레이드 가능 상태입니다.
  4. 소스 EUS 버전에서 다음 마이너 버전의 OpenShift Container Platform으로 클러스터를 수동으로 업데이트합니다.

    $ oc adm upgrade

    검증

    • 다음 명령을 실행하여 현재 버전을 확인합니다.

      $ oc get clusterversion
      참고

      OpenShift Container Platform을 다음 버전으로 업데이트하는 것은 OpenShift Virtualization을 업데이트하기 위한 사전 요구 사항입니다. 자세한 내용은 OpenShift Container Platform 설명서의 "클러스터 업데이트" 섹션을 참조하십시오.

  5. OpenShift Virtualization을 업데이트합니다.

    • 기본 자동 승인 전략을 사용하면 OpenShift Container Platform을 업데이트한 후 OpenShift Virtualization이 해당 버전으로 자동으로 업데이트됩니다.
    • 수동 승인 전략을 사용하는 경우 웹 콘솔을 사용하여 보류 중인 업데이트를 승인합니다.
  6. 다음 명령을 실행하여 OpenShift Virtualization 업데이트를 모니터링합니다.

    $ oc get csv -n openshift-cnv
  7. OpenShift Virtualization을 EUS 이외의 마이너 버전에서 사용할 수 있는 모든 z-stream 버전으로 업데이트하여 이전 단계에 표시된 명령을 실행하여 각 업데이트를 모니터링합니다.
  8. 다음 명령을 실행하여 OpenShift Virtualization이 EUS 이외의 버전의 최신 z-stream 릴리스로 성공적으로 업데이트되었는지 확인합니다.

    $ oc get hco kubevirt-hyperconverged -n openshift-cnv -o json | jq ".status.versions"

    출력 예

    [
      {
        "name": "operator",
        "version": "4.13.11"
      }
    ]

  9. 다음 업데이트를 수행하기 전에 HyperConverged Operator에 Upgradeable 상태가 될 때까지 기다립니다. 다음 명령을 입력하고 출력을 모니터링합니다.

    $ oc get hco kubevirt-hyperconverged -n openshift-cnv -o json | jq ".status.conditions"
  10. OpenShift Container Platform을 대상 EUS 버전으로 업데이트합니다.
  11. 클러스터 버전을 확인하여 업데이트가 성공했는지 확인합니다.

    $ oc get clusterversion
  12. OpenShift Virtualization을 대상 EUS 버전으로 업데이트합니다.

    • 기본 자동 승인 전략을 사용하면 OpenShift Container Platform을 업데이트한 후 OpenShift Virtualization이 해당 버전으로 자동으로 업데이트됩니다.
    • 수동 승인 전략을 사용하는 경우 웹 콘솔을 사용하여 보류 중인 업데이트를 승인합니다.
  13. 다음 명령을 실행하여 OpenShift Virtualization 업데이트를 모니터링합니다.

    $ oc get csv -n openshift-cnv

    VERSION 필드가 대상 EUS 버전과 일치하고 PHASE 필드에 Succeeded 가 표시되면 업데이트가 완료됩니다.

  14. 백업한 워크로드 업데이트 방법 구성을 복원합니다.

    $ oc patch hco kubevirt-hyperconverged -n openshift-cnv --type json -p "[{\"op\":\"add\",\"path\":\"/spec/workloadUpdateStrategy/workloadUpdateMethods\", \"value\":$WORKLOAD_UPDATE_METHODS}]"

    출력 예

    hyperconverged.hco.kubevirt.io/kubevirt-hyperconverged patched

    검증

    • 다음 명령을 실행하여 VM 마이그레이션의 상태를 확인합니다.

      $ oc get vmim -A

다음 단계

  • 이제 작업자 노드의 머신 구성 풀의 일시 정지를 해제할 수 있습니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.