18.8. 컨테이너 이미지 사전 캐시 기능 사용


클러스터는 컨테이너 이미지 레지스트리에 액세스하기 위해 대역폭이 제한되어 업데이트 완료 전에 타임아웃이 발생할 수 있습니다.

참고

업데이트 시간은 TALM에 의해 설정되지 않습니다. 수동 애플리케이션 또는 외부 자동화로 업데이트를 시작할 때 ClusterGroupUpgrade CR을 적용할 수 있습니다.

ClusterGroupUpgrade CR에서 preCaching 필드가 true 로 설정된 경우 컨테이너 이미지 사전 캐싱이 시작됩니다. 성공적인 사전 캐싱 프로세스 후 정책을 수정할 수 있습니다. enable 필드가 true 로 설정된 경우 수정 작업이 시작됩니다.

사전 캐싱 프로세스는 다음 상태에 있을 수 있습니다.

PrecacheNotStarted

이는 모든 클러스터가 ClusterGroupUpgrade CR의 첫 번째 조정 통과 시에 자동으로 할당된 초기 상태입니다.

TALM은 이전의 불완전한 업데이트에서 남아 있는 맞춤 클러스터의 사전 캐싱 네임스페이스 및 허브 뷰 리소스를 삭제합니다. 그런 다음 TALM은 spoke pre-caching namespace에 대한 새로운 ManagedClusterView 리소스를 생성하여 PrecachePreparing 상태에서 해당 삭제를 확인합니다.

PrecachePreparing
이전의 불완전한 업데이트에서 나머지 리소스를 정리하는 작업이 진행 중입니다.
PrecacheStarting
사전 캐싱 작업 사전 요구 사항 및 작업이 생성됩니다.
PrecacheActive
작업은 "Active" 상태입니다.
PrecacheSucceeded
사전 캐시 작업이 성공했습니다.
PrecacheTimeout
아티팩트 사전 캐싱이 부분적으로 완료되었습니다.
PrecacheUnrecoverableError
작업은 0이 아닌 종료 코드로 끝납니다.

18.8.1. 사전 캐싱을 사용하여 ClusterGroupUpgrade CR 생성

사전 캐시 기능을 사용하면 업데이트가 시작되기 전에 필요한 컨테이너 이미지를 맞춤식 클러스터에 표시할 수 있습니다.

사전 요구 사항

  • Topology Aware Lifecycle Manager (TALM)를 설치합니다.
  • 하나 이상의 관리 클러스터를 프로비저닝합니다.
  • cluster-admin 권한이 있는 사용자로 로그인합니다.

절차

  1. clustergroupupgrades-group-du.yaml 파일에서 preCaching 필드가 true 로 설정된 상태에서 ClusterGroupUpgrade CR의 콘텐츠를 저장합니다.

    apiVersion: ran.openshift.io/v1alpha1
    kind: ClusterGroupUpgrade
    metadata:
      name: du-upgrade-4918
      namespace: ztp-group-du-sno
    spec:
      preCaching: true 1
      clusters:
      - cnfdb1
      - cnfdb2
      enable: false
      managedPolicies:
      - du-upgrade-platform-upgrade
      remediationStrategy:
        maxConcurrency: 2
        timeout: 240
    1
    preCaching 필드가 true 로 설정되어 업데이트를 시작하기 전에 TALM이 컨테이너 이미지를 가져올 수 있습니다.
  2. 업데이트를 시작하려면 다음 명령을 실행하여 ClusterGroupUpgrade CR을 적용합니다.

    $ oc apply -f clustergroupupgrades-group-du.yaml

검증

  1. 다음 명령을 실행하여 hub 클러스터에 ClusterGroupUpgrade CR이 있는지 확인합니다.

    $ oc get cgu -A

    출력 예

    NAMESPACE          NAME              AGE
    ztp-group-du-sno   du-upgrade-4918   10s 1

    1
    CR이 생성됩니다.
  2. 다음 명령을 실행하여 사전 캐싱 작업의 상태를 확인합니다.

    $ oc get cgu -n ztp-group-du-sno du-upgrade-4918 -o jsonpath='{.status}'

    출력 예

    {
      "conditions": [
        {
          "lastTransitionTime": "2022-01-27T19:07:24Z",
          "message": "Precaching is not completed (required)", 1
          "reason": "PrecachingRequired",
          "status": "False",
          "type": "Ready"
        },
        {
          "lastTransitionTime": "2022-01-27T19:07:24Z",
          "message": "Precaching is required and not done",
          "reason": "PrecachingNotDone",
          "status": "False",
          "type": "PrecachingDone"
        },
        {
          "lastTransitionTime": "2022-01-27T19:07:34Z",
          "message": "Pre-caching spec is valid and consistent",
          "reason": "PrecacheSpecIsWellFormed",
          "status": "True",
          "type": "PrecacheSpecValid"
        }
      ],
      "precaching": {
        "clusters": [
          "cnfdb1" 2
        ],
        "spec": {
          "platformImage": "image.example.io"},
        "status": {
          "cnfdb1": "Active"}
        }
    }

    1
    업데이트가 진행 중임을 표시합니다.
    2
    확인된 클러스터 목록을 표시합니다.
  3. 스포크 클러스터에서 다음 명령을 실행하여 사전 캐싱 작업의 상태를 확인합니다.

    $ oc get jobs,pods -n openshift-talm-pre-cache

    출력 예

    NAME                  COMPLETIONS   DURATION   AGE
    job.batch/pre-cache   0/1           3m10s      3m10s
    
    NAME                     READY   STATUS    RESTARTS   AGE
    pod/pre-cache--1-9bmlr   1/1     Running   0          3m10s

  4. 다음 명령을 실행하여 ClusterGroupUpgrade CR의 상태를 확인합니다.

    $ oc get cgu -n ztp-group-du-sno du-upgrade-4918 -o jsonpath='{.status}'

    출력 예

    "conditions": [
        {
          "lastTransitionTime": "2022-01-27T19:30:41Z",
          "message": "The ClusterGroupUpgrade CR has all clusters compliant with all the managed policies",
          "reason": "UpgradeCompleted",
          "status": "True",
          "type": "Ready"
        },
        {
          "lastTransitionTime": "2022-01-27T19:28:57Z",
          "message": "Precaching is completed",
          "reason": "PrecachingCompleted",
          "status": "True",
          "type": "PrecachingDone" 1
        }

    1
    사전 캐시 작업이 수행됩니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.