6.4. OpenShift Update Service 없이 연결이 끊긴 환경에서 클러스터 업데이트
OpenShift 업데이트 서비스에 액세스할 수 없는 연결이 끊긴 환경에서 클러스터를 업데이트하려면 다음 절차를 사용하세요.
6.4.1. 사전 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
-
oc
명령 줄 인터페이스 (CLI) 툴이 설치되어 있어야합니다. - OpenShift 컨테이너 플랫폼 이미지 미러링 에 설명된 대로 업데이트에 대한 컨테이너 이미지로 로컬 컨테이너 이미지 레지스트리를 프로비저닝해야 합니다.
-
관리자
권한이 있는 사용자로 클러스터에 액세스할 수 있어야 합니다. RBAC를 사용하여 권한 정의 및 적용을 참조하세요. - 업데이트가 실패하고 클러스터를 이전 상태로 복원 해야 하는 경우를 대비해 최신 etcd 백업이 있어야 합니다.
- 이전에 Operator Lifecycle Manager(OLM)를 통해 설치한 모든 Operator를 대상 릴리스와 호환되는 버전으로 업데이트했습니다. Operator를 업데이트하면 클러스터 업데이트 중에 기본 OperatorHub 카탈로그가 현재 마이너 버전에서 다음 마이너 버전으로 전환될 때 유효한 업데이트 경로가 있는지 확인할 수 있습니다. 호환성을 확인하는 방법과 필요한 경우 설치된 Operator를 업데이트하는 방법에 대한 자세한 내용은 설치된 Operator 업데이트를 참조하세요.
- 모든 머신 구성 풀(MCP)이 실행 중이고 일시 중지되지 않았는지 확인해야 합니다. 업데이트 프로세스 중에 일시 중지된 MCP와 연결된 노드를 건너뜁니다. 카나리아 롤아웃 업데이트 전략을 수행하는 경우 MCP를 일시 중지할 수 있습니다.
- 클러스터에서 수동으로 유지 관리되는 인증 정보를 사용하는 경우 새 릴리스의 클라우드 공급자 리소스를 업데이트합니다. 클러스터에 대한 요구 사항인지 확인하는 방법을 포함한 자세한 내용은 수동으로 유지 관리되는 자격 증명으로 클러스터 업데이트 준비를 참조하세요.
-
Operator를 실행하거나 Pod 중단 예산으로 애플리케이션을 구성한 경우 업데이트 프로세스 중에 중단이 발생할 수 있습니다.
PodDisruptionBudget
에서minAvailable이
1로 설정된 경우 보류 중인 머신 구성을 적용하기 위해 노드가 비워지며 이로 인해 퇴거 프로세스가 차단될 수 있습니다. 여러 노드가 재부팅되면 모든 포드가 하나의 노드에서만 실행될 수 있으며,PodDisruptionBudget
필드가 노드 비움을 방지할 수 있습니다.
Operator를 실행하거나 Pod 중단 예산으로 애플리케이션을 구성한 경우 업데이트 프로세스 중에 중단이 발생할 수 있습니다. PodDisruptionBudget
에서 minAvailable이
1로 설정된 경우 보류 중인 머신 구성을 적용하기 위해 노드가 비워지며 이로 인해 퇴거 프로세스가 차단될 수 있습니다. 여러 노드가 재부팅되면 모든 포드가 하나의 노드에서만 실행될 수 있으며, PodDisruptionBudget
필드가 노드 비움을 방지할 수 있습니다.
6.4.2. MachineHealthCheck 리소스 일시 중지 링크 복사링크가 클립보드에 복사되었습니다!
업데이트 프로세스 중에 클러스터의 노드를 일시적으로 사용할 수 없게 될 수 있습니다. 워커 노드의 경우, MachineHealthCheck
리소스는 해당 노드를 비정상으로 식별하고 재부팅할 수 있습니다. 이러한 노드를 재부팅하지 않으려면 클러스터를 업데이트하기 전에 모든 MachineHealthCheck
리소스를 일시 중지합니다.
일부 MachineHealthCheck
리소스는 일시 중지할 필요가 없을 수도 있습니다. MachineHealthCheck
리소스가 복구할 수 없는 조건에 의존하는 경우 해당 MHC를 일시 중지할 필요가 없습니다.
사전 요구 사항
-
OpenShift CLI(
oc
)를 설치합니다.
프로세스
일시 중지하려는 사용 가능한
MachineHealthCheck
리소스를 모두 나열하려면 다음 명령을 실행합니다.oc get machinehealthcheck -n openshift-machine-api
$ oc get machinehealthcheck -n openshift-machine-api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 머신 상태 점검을 일시 중지하려면
cluster.x-k8s.io/paused=""
주석을MachineHealthCheck
리소스에 추가합니다. 다음 명령을 실행합니다.oc -n openshift-machine-api annotate mhc <mhc-name> cluster.x-k8s.io/paused=""
$ oc -n openshift-machine-api annotate mhc <mhc-name> cluster.x-k8s.io/paused=""
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 주석이 지정된
MachineHealthCheck
리소스는 다음 YAML 파일과 유사합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 중요클러스터를 업데이트한 후 머신 상태 점검을 다시 시작합니다. 검사를 다시 시작하려면 다음 명령을 실행하여
MachineHealthCheck
리소스에서 일시 중지 주석을 제거합니다.oc -n openshift-machine-api annotate mhc <mhc-name> cluster.x-k8s.io/paused-
$ oc -n openshift-machine-api annotate mhc <mhc-name> cluster.x-k8s.io/paused-
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.4.3. 릴리스 이미지 다이제스트 검색 링크 복사링크가 클립보드에 복사되었습니다!
--to-image
옵션과 함께 oc adm upgrade
명령을 사용하여 연결이 끊긴 환경에서 클러스터를 업데이트하려면 대상 릴리스 이미지에 해당하는 sha256 다이제스트를 참조해야 합니다.
프로세스
인터넷에 연결된 장치에서 다음 명령을 실행하세요.
oc adm release info -o 'jsonpath={.digest}{"\n"}' quay.io/openshift-release-dev/ocp-release:${OCP_RELEASE_VERSION}-${ARCHITECTURE}
$ oc adm release info -o 'jsonpath={.digest}{"\n"}' quay.io/openshift-release-dev/ocp-release:${OCP_RELEASE_VERSION}-${ARCHITECTURE}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow {OCP_RELEASE_VERSION}
에 업데이트하려는 OpenShift Container Platform 버전(예:4.10.16)
을 지정합니다.{ARCHITECTURE}
의 경우x86_64
,aarch64
,s390x
또는ppc64le
과 같은 클러스터 아키텍처를 지정합니다.출력 예
sha256:a8bfba3b6dddd1a2fbbead7dac65fe4fb8335089e4e7cae327f3bad334add31d
sha256:a8bfba3b6dddd1a2fbbead7dac65fe4fb8335089e4e7cae327f3bad334add31d
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 클러스터를 업데이트할 때 사용할 sha256 다이제스트를 복사합니다.
6.4.4. 연결이 끊긴 클러스터 업데이트 링크 복사링크가 클립보드에 복사되었습니다!
릴리스 이미지를 다운로드한 OpenShift Container Platform 버전으로 연결이 끊긴 클러스터를 업데이트합니다.
로컬 OpenShift Update Service가 있는 경우 이 절차 대신 연결된 웹 콘솔 또는 CLI 지침을 사용하여 업데이트할 수 있습니다.
사전 요구 사항
- 새 릴리스의 이미지를 레지스트리에 미러링하고 있습니다.
새 릴리스의 릴리스 이미지 서명 ConfigMap을 클러스터에 적용하고 있습니다.
참고릴리스 이미지 서명 구성 맵을 사용하면 클러스터 버전 운영자(CVO)가 실제 이미지 서명이 예상 서명과 일치하는지 확인하여 릴리스 이미지의 무결성을 보장할 수 있습니다.
- 대상 릴리스 이미지에 대한 sha256 다이제스트를 가져옵니다.
-
OpenShift CLI(
oc
)를 설치합니다. -
모든
MachineHealthCheck
리소스를 일시 중지했습니다.
프로세스
클러스터를 업데이트합니다.
oc adm upgrade --allow-explicit-upgrade --to-image <defined_registry>/<defined_repository>@<digest>
$ oc adm upgrade --allow-explicit-upgrade --to-image <defined_registry>/<defined_repository>@<digest>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음과 같습니다.
<defined_registry>
- 이미지를 미러링한 미러 레지스트리의 이름을 지정합니다.
<defined_repository>
- 미러 레지스트리에서 사용할 이미지 저장소의 이름을 지정합니다.
<digest>
-
대상 릴리스 이미지에 대한 sha256 다이제스트를 지정합니다(예:
sha256:81154f5c03294534e1eaf0319bef7a601134f891689ccede5d705ef659aa8c92)
.
참고- 미러 레지스트리와 저장소 이름이 어떻게 정의되어 있는지 검토하려면 "OpenShift Container Platform 이미지 미러링"을 참조하세요.
-
ImageContentSourcePolicy
또는ImageDigestMirrorSet을
사용한 경우 정의한 이름 대신 정식 레지스트리 및 저장소 이름을 사용할 수 있습니다. 정식 레지스트리 이름은quay.io
이고 표준 리포지토리 이름은openshift-release-dev/ocp-release
입니다. -
ImageContentSourcePolicy
,ImageDigestMirrorSet
또는ImageTagMirrorSet
오브젝트가 있는 클러스터에 대한 글로벌 풀 시크릿만 구성할 수 있습니다. 프로젝트에 풀 시크릿을 추가할 수 없습니다.
6.4.5. 이미지 레지스트리 저장소 미러링 이해 링크 복사링크가 클립보드에 복사되었습니다!
컨테이너 레지스트리 저장소 미러링을 설정하면 다음 작업을 수행할 수 있습니다.
- 소스 이미지 레지스트리의 저장소에서 이미지를 가져오기 위해 요청을 리디렉션하고 미러링된 이미지 레지스트리의 저장소에서 이를 해석하도록 OpenShift Container Platform 클러스터를 설정합니다.
- 하나의 미러가 다운된 경우 다른 미러를 사용할 수 있도록 각 대상 저장소에 대해 여러 미러링된 저장소를 확인합니다.
OpenShift Container Platform의 저장소 미러링에는 다음 속성이 포함되어 있습니다.
- 이미지 풀은 레지스트리 다운타임에 탄력적으로 대처할 수 있습니다.
- 연결이 끊긴 환경의 클러스터는 중요한 위치(예: quay.io)에서 이미지를 가져오고 회사 방화벽 뒤의 레지스트리에서 요청된 이미지를 제공하도록 할 수 있습니다.
- 이미지 가져오기 요청이 있으면 특정한 레지스트리 순서로 가져오기를 시도하며 일반적으로 영구 레지스트리는 마지막으로 시도합니다.
-
입력한 미러링 정보는 OpenShift Container Platform 클러스터의 모든 노드에서
/etc/containers/registries.conf
파일에 추가됩니다. - 노드가 소스 저장소에서 이미지를 요청하면 요청된 컨텐츠를 찾을 때 까지 미러링된 각 저장소를 차례로 시도합니다. 모든 미러가 실패하면 클러스터는 소스 저장소를 시도합니다. 성공하면 이미지를 노드로 가져올 수 있습니다.
저장소 미러링은 다음과 같은 방법으로 설정할 수 있습니다.
OpenShift Container Platform 설치 시
OpenShift Container Platform에 필요한 컨테이너 이미지를 가져온 다음 해당 이미지를 회사 방화벽 뒤에 배치하면 연결이 끊긴 환경에 있는 데이터 센터에 OpenShift Container Platform을 설치할 수 있습니다.
OpenShift Container Platform 설치 후
OpenShift Container Platform 설치 중에 미러링을 구성하지 않은 경우 다음 사용자 정의 리소스(CR) 개체를 사용하여 설치 후에 미러링을 구성할 수 있습니다.
-
ImageDigestMirrorSet
(IDMS). 이 객체를 사용하면 다이제스트 사양을 사용하여 미러링된 레지스트리에서 이미지를 가져올 수 있습니다. IDMS CR을 사용하면 이미지 풀링이 실패할 경우 소스 레지스트리에서 계속해서 풀링을 시도하는 것을 허용하거나 중지하는 대체 정책을 설정할 수 있습니다. -
ImageTagMirrorSet
(ITMS). 이 객체를 사용하면 이미지 태그를 사용하여 미러링된 레지스트리에서 이미지를 가져올 수 있습니다. ITMS CR을 사용하면 이미지 풀링이 실패할 경우 소스 레지스트리에서 계속해서 풀링을 시도하는 것을 허용하거나 중지하는 대체 정책을 설정할 수 있습니다. -
이미지 콘텐츠 소스
정책(ICSP). 이 객체를 사용하면 다이제스트 사양을 사용하여 미러링된 레지스트리에서 이미지를 가져올 수 있습니다. 미러가 작동하지 않으면 ICSP CR은 항상 소스 레지스트리로 돌아갑니다.
중요ICSP(
ImageContentSourcePolicy
) 오브젝트를 사용하여 저장소 미러링을 구성하는 것은 더 이상 사용되지 않는 기능입니다. 더 이상 사용되지 않는 기능은 여전히 OpenShift Container Platform에 포함되어 있으며 계속 지원됩니다. 그러나 이 기능은 향후 릴리스에서 제거될 예정이므로 새로운 배포에는 사용하지 않는 것이 좋습니다.ImageContentSourcePolicy
개체를 생성하는 데 사용한 기존 YAML 파일이 있는 경우oc adm migrate icsp
명령을 사용하여 해당 파일을ImageDigestMirrorSet
YAML 파일로 변환할 수 있습니다. 자세한 내용은 다음 섹션의 "이미지 레지스트리 저장소 미러링에 대한 ImageContentSourcePolicy (ICSP) 파일 변환"을 참조하십시오.-
이러한 각 사용자 정의 리소스 개체는 다음 정보를 식별합니다.
- 미러링하려는 컨테이너 이미지 저장소의 소스
- 소스 저장소에서 요청된 컨텐츠를 제공하는 각 미러 저장소에 대한 개별 항목
새 클러스터의 경우 원하는 대로 IDMS, ITMS 및 ICSP CR 객체를 사용할 수 있습니다. 하지만 IDMS와 ITMS를 사용하는 것이 좋습니다.
클러스터를 업그레이드한 경우 기존 ICSP 개체는 안정적으로 유지되며 IDMS 및 ICSP 개체가 모두 지원됩니다. ICSP 객체를 사용하는 작업 부하는 예상대로 계속 작동합니다. 그러나 IDMS CR에 도입된 대체 정책을 활용하려면 다음 이미지 레지스트리 저장소 미러링 섹션에 대해 ICSP(Conversioning ImageContentSourcePolicy) 파일에 표시된 대로 oc adm migrate icsp
명령을 사용하여 현재 워크로드를 IDMS 오브젝트로 마이그레이션할 수 있습니다. IDMS 개체로 마이그레이션하는 데 클러스터를 재부팅할 필요가 없습니다.
클러스터에서 ImageDigestMirrorSet
,ImageTagMirrorSet
또는 ImageContentSourcePolicy
개체를 사용하여 저장소 미러링을 구성하는 경우 미러링된 레지스트리에 대해 글로벌 풀 시크릿만 사용할 수 있습니다. 프로젝트에 풀 시크릿을 추가할 수 없습니다.
6.4.5.1. 이미지 레지스트리 저장소 미러링 설정 링크 복사링크가 클립보드에 복사되었습니다!
소스 이미지 레지스트리에서 미러 이미지 레지스트리로 이미지 풀 요청을 리디렉션하기 위해 사후 설치 미러 구성 사용자 정의 리소스(CR)를 만들 수 있습니다.
사전 요구 사항
-
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.
프로세스
미러링된 저장소를 설정합니다.
- Red Hat Quay 저장소 미러링에 설명된 대로 Red Hat Quay 로 미러링된 저장소를 설정합니다. Red Hat Quay를 사용하면 한 저장소에서 다른 저장소로 이미지를 복사할 수 있고, 시간이 지남에 따라 해당 저장소를 자동으로 반복적으로 동기화할 수도 있습니다.
Skopeo
와 같은 도구를 사용하여 소스 저장소에서 미러링된 저장소로 이미지를 수동으로 복사합니다.예를 들어, Red Hat Enterprise Linux(RHEL) 7 또는 RHEL 8 시스템에 skopeo RPM 패키지를 설치한 후 다음 예와 같이
skopeo
명령을 사용합니다.skopeo copy --all \ docker://registry.access.redhat.com/ubi9/ubi-minimal:latest@sha256:5cf... \ docker://example.io/example/ubi-minimal
$ skopeo copy --all \ docker://registry.access.redhat.com/ubi9/ubi-minimal:latest@sha256:5cf... \ docker://example.io/example/ubi-minimal
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예제에는
example.io
라는 컨테이너 이미지 레지스트리가 있으며,registry.access.redhat.com
에서ubi9/ubi-minimal
이미지를 복사할example
이라는 이미지 저장소가 있습니다. 미러링된 레지스트리를 만든 후에는 OpenShift Container Platform 클러스터를 구성하여 소스 저장소에 대한 요청을 미러링된 저장소로 리디렉션할 수 있습니다.
다음 예제 중 하나를 사용하여 설치 후 미러 구성 CR을 만듭니다.
필요에 따라
ImageDigestMirrorSet
또는ImageTagMirrorSet
CR을 생성하여 소스 및 미러를 자체 레지스트리 및 저장소 쌍과 이미지로 교체합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 이 CR과 함께 사용할 API를 나타냅니다.
config.openshift.io/v1
이어야 합니다. - 2
- 풀 유형에 따라 오브젝트의 종류를 나타냅니다.
-
ImageDigestMirrorSet
: 다이제스트 참조 이미지를 가져옵니다. -
ImageTagMirrorSet
: 태그 참조 이미지를 가져옵니다.
-
- 3
- 이미지 가져오기 방법 유형을 나타냅니다.
-
imageDigestMirrors
:ImageDigestMirrorSet
CR에 사용합니다. -
imageTagMirrors
:ImageTagMirrorSet
CR에 사용합니다.
-
- 4
- 미러링된 이미지 레지스트리 및 저장소의 이름을 나타냅니다.
- 5
- 선택 사항: 각 대상 저장소에 대한 보조 미러 저장소를 나타냅니다. 하나의 미러가 다운되면 대상 저장소는 보조 미러를 사용할 수 있습니다.
- 6
- 레지스트리와 저장소 소스를 나타냅니다. 즉, 이미지 풀 사양에서 참조되는 저장소입니다.
- 7
- 선택 사항: 이미지 가져오기에 실패하는 경우 대체 정책을 표시합니다.
-
AllowContactingSource
: 소스 저장소에서 이미지를 계속 가져올 수 있습니다. 이는 기본값입니다. -
NeverContactSource
: 소스 저장소에서 이미지를 가져 오는 지속적인 시도를 방지합니다.
-
- 8
- 선택 사항: 레지스트리 내부의 네임스페이스를 나타내며, 이를 통해 해당 네임스페이스의 이미지를 사용할 수 있습니다. 레지스트리 도메인을 소스로 사용하는 경우 오브젝트는 레지스트리의 모든 리포지토리에 적용됩니다.
- 9
- 선택 사항: 레지스트리를 나타내며, 레지스트리의 이미지를 사용할 수 있습니다. 레지스트리 이름을 지정하면 오브젝트가 소스 레지스트리의 모든 리포지토리에 적용됩니다.
- 10
- 미러
mirror.example.net/image@sha256:..
에서registry.example.com/example/myimage@sha256:…
이미지를 가져옵니다. - 11
- 미러
mirror.example.net/image@sha256:…
에서 소스 레지스트리 네임스페이스에서registry.example.com/example/image@sha256:…
이미지를 가져옵니다. - 12
- 미러 레지스트리
example.net/registry-example-com/myimage@sha256:…
에서registry.example.com/myimage@sha256
이미지를 가져옵니다.
소스와 미러를 사용자 정의 레지스트리 및 저장소 쌍과 이미지로 대체하여
ImageContentSourcePolicy
사용자 정의 리소스를 만듭니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
새 오브젝트를 생성합니다.
oc create -f registryrepomirror.yaml
$ oc create -f registryrepomirror.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 객체가 생성된 후, MCO(Machine Config Operator)는
ImageTagMirrorSet
객체에 대한 노드만 비웁니다. MCO는ImageDigestMirrorSet
및ImageContentSourcePolicy
개체의 노드를 비우지 않습니다.미러링된 구성 설정이 적용되었는지 확인하려면 노드 중 하나에서 다음을 수행하십시오.
노드를 나열합니다.
oc get node
$ oc get node
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 디버깅 프로세스를 시작하고 노드에 액세스합니다.
oc debug node/ip-10-0-147-35.ec2.internal
$ oc debug node/ip-10-0-147-35.ec2.internal
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Starting pod/ip-10-0-147-35ec2internal-debug ... To use host binaries, run `chroot /host`
Starting pod/ip-10-0-147-35ec2internal-debug ... To use host binaries, run `chroot /host`
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 루트 디렉토리를
/host
로 변경합니다.chroot /host
sh-4.2# chroot /host
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/containers/registries.conf
파일을 체크하여 변경 사항이 적용되었는지 확인합니다.cat /etc/containers/registries.conf
sh-4.2# cat /etc/containers/registries.conf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 출력은 설치 후 미러 구성 CR이 적용된
registries.conf
파일을 나타냅니다. 마지막 두 항목은 각각digest-only
및tag-only
로 표시됩니다.출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 소스에서 이미지를 노드로 가져와 미러링에 의해 해결되는지 확인합니다.
podman pull --log-level=debug registry.access.redhat.com/ubi9/ubi-minimal@sha256:5cf...
sh-4.2# podman pull --log-level=debug registry.access.redhat.com/ubi9/ubi-minimal@sha256:5cf...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
저장소 미러링 문제 해결
저장소 미러링 절차가 설명대로 작동하지 않는 경우 저장소 미러링 작동 방법에 대한 다음 정보를 사용하여 문제를 해결하십시오.
- 가져온 이미지는 첫 번째 작동 미러를 사용하여 공급합니다.
- 주요 레지스트리는 다른 미러가 작동하지 않는 경우에만 사용됩니다.
-
시스템 컨텍스트에서
Insecure
플래그가 폴백으로 사용됩니다. -
/etc/containers/registries.conf
파일 형식이 최근에 변경되었습니다. 현재 버전은 TOML 형식의 버전 2입니다.
6.4.5.2. 이미지 레지스트리 저장소 미러링을 위한 ICP( ImageContentSourcePolicy) 파일 변환 링크 복사링크가 클립보드에 복사되었습니다!
ICSP( ImageContentSourcePolicy
) 오브젝트를 사용하여 저장소 미러링을 구성하는 것은 더 이상 사용되지 않는 기능입니다. 이 기능은 여전히 OpenShift Container Platform에 포함되어 있으며 계속 지원됩니다. 그러나 이 기능은 향후 릴리스에서 제거될 예정이므로 새로운 배포에는 사용하지 않는 것이 좋습니다.
ICSP 오브젝트는 저장소 미러링을 구성하기 위해 ImageDigestMirrorSet
및 ImageTagMirrorSet
개체로 교체됩니다. ImageContentSourcePolicy
개체를 생성하는 데 사용한 기존 YAML 파일이 있는 경우 oc adm migrate icsp
명령을 사용하여 해당 파일을 ImageDigestMirrorSet
YAML 파일로 변환할 수 있습니다. 명령은 현재 버전으로 API를 업데이트하고, kind
값을 ImageDigestMirrorSet
로 변경하고, spec.repositoryDigestMirrors
를 spec.imageDigestMirrors
로 변경합니다. 파일의 나머지 부분은 변경되지 않습니다.
마이그레이션으로 인해 registries.conf
파일이 변경되지 않으므로 클러스터를 재부팅할 필요가 없습니다.
ImageDigestMirrorSet
또는 ImageTagMirrorSet
오브젝트에 대한 자세한 내용은 이전 섹션의 "이미지 레지스트리 저장소 미러링 설정"을 참조하십시오.
사전 요구 사항
-
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있어야 합니다. -
클러스터에
ImageContentSourcePolicy
개체가 있는지 확인합니다.
프로세스
다음 명령을 사용하여 하나 이상의
ImageContentSourcePolicy
YAML 파일을ImageDigestMirrorSet
YAML 파일로 변환합니다.oc adm migrate icsp <file_name>.yaml <file_name>.yaml <file_name>.yaml --dest-dir <path_to_the_directory>
$ oc adm migrate icsp <file_name>.yaml <file_name>.yaml <file_name>.yaml --dest-dir <path_to_the_directory>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음과 같습니다.
<file_name>
-
소스
ImageContentSourcePolicy
YAML의 이름을 지정합니다. 여러 파일 이름을 나열할 수 있습니다. --dest-dir
-
선택 사항: 출력
ImageDigestMirrorSet
YAML의 디렉터리를 지정합니다. 설정되지 않으면 파일이 현재 디렉터리에 기록됩니다.
예를 들어 다음 명령은
icsp.yaml
및icsp-2.yaml
파일을 변환하고 새 YAML 파일을idms-files
디렉터리에 저장합니다.oc adm migrate icsp icsp.yaml icsp-2.yaml --dest-dir idms-files
$ oc adm migrate icsp icsp.yaml icsp-2.yaml --dest-dir idms-files
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
wrote ImageDigestMirrorSet to idms-files/imagedigestmirrorset_ubi8repo.5911620242173376087.yaml wrote ImageDigestMirrorSet to idms-files/imagedigestmirrorset_ubi9repo.6456931852378115011.yaml
wrote ImageDigestMirrorSet to idms-files/imagedigestmirrorset_ubi8repo.5911620242173376087.yaml wrote ImageDigestMirrorSet to idms-files/imagedigestmirrorset_ubi9repo.6456931852378115011.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 CR 오브젝트를 생성합니다.
oc create -f <path_to_the_directory>/<file-name>.yaml
$ oc create -f <path_to_the_directory>/<file-name>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음과 같습니다.
<path_to_the_directory>
-
--dest-dir
플래그를 사용한 경우 디렉터리의 경로를 지정합니다. <file_name>
-
ImageDigestMirrorSet
YAML의 이름을 지정합니다.
- IDMS 개체가 롤아웃된 후 ICSP 개체를 제거합니다.
6.4.6. 클러스터 노드 재부팅 빈도를 줄이기 위해 미러 이미지 카탈로그의 범위 확장 링크 복사링크가 클립보드에 복사되었습니다!
미러링된 이미지 카탈로그의 범위를 저장소 수준 또는 더 넓은 레지스트리 수준에서 지정할 수 있습니다. 광범위한 ImageContentSourcePolicy
리소스는 리소스 변경에 따라 노드를 재부팅해야 하는 횟수를 줄입니다.
ImageContentSourcePolicy
리소스에서 미러 이미지 카탈로그의 범위를 확장하려면 다음 절차를 수행합니다.
사전 요구 사항
-
OpenShift Container Platform CLI
oc
를 설치합니다. -
cluster-admin
권한이 있는 사용자로 로그인합니다. - 연결이 끊긴 클러스터에서 사용할 미러링된 이미지 카탈로그를 구성합니다.
프로세스
<local_registry>
,<pull_spec>
, 및<pull_secret_file>
에 대한 값을 지정하여 다음 명령을 실행합니다.oc adm catalog mirror <local_registry>/<pull_spec> <local_registry> -a <pull_secret_file> --icsp-scope=registry
$ oc adm catalog mirror <local_registry>/<pull_spec> <local_registry> -a <pull_secret_file> --icsp-scope=registry
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음과 같습니다.
- <local_registry>
-
연결이 끊긴 클러스터에 대해 구성한 로컬 레지스트리입니다 (예:
local.registry:5000
). - <pull_spec>
-
연결이 끊긴 레지스트리에 구성된 풀 사양은 다음과 같습니다. 예:
redhat/redhat-operator-index:v4.19
- <pull_secret_file>
-
registry.redhat.io
풀 시크릿은.json
파일 형식입니다. Red Hat OpenShift Cluster Manager에서 풀 시크릿을 다운로드할 수 있습니다.
oc adm catalog mirror
명령은/redhat-operator-index-manifests
디렉터리를 생성하고imageContentSourcePolicy.yaml
,catalogSource.yaml
및mapping.txt
파일을 생성합니다.새
ImageContentSourcePolicy
리소스를 클러스터에 적용합니다.oc apply -f imageContentSourcePolicy.yaml
$ oc apply -f imageContentSourcePolicy.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
oc apply
가ImageContentSourcePolicy
에 변경 사항을 성공적으로 적용했는지 확인합니다.oc get ImageContentSourcePolicy -o yaml
$ oc get ImageContentSourcePolicy -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ImageContentSourcePolicy
리소스를 업데이트한 후 OpenShift Container Platform은 새 설정을 각 노드에 배포하고 클러스터는 소스 저장소에 대한 요청에 미러링된 저장소를 사용하기 시작합니다.