1.2. 클러스터 업데이트 작동 방식
다음 섹션에서는 OCP(OpenShift Container Platform) 업데이트 프로세스의 각 주요 측면을 자세히 설명합니다. 업데이트가 작동하는 방법에 대한 일반적인 개요는 OpenShift 업데이트 소개를 참조하십시오.
1.2.1. Cluster Version Operator 링크 복사링크가 클립보드에 복사되었습니다!
CVO(Cluster Version Operator)는 OpenShift Container Platform 업데이트 프로세스를 오케스트레이션하고 용이하게 하는 주요 구성 요소입니다. 설치 및 표준 클러스터 작업 중에 CVO는 관리 클러스터 Operator의 매니페스트를 클러스터 내부 리소스와 지속적으로 비교하고 불일치를 조정하여 이러한 리소스의 실제 상태가 원하는 상태와 일치하는지 확인합니다.
1.2.1.1. ClusterVersion 오브젝트 링크 복사링크가 클립보드에 복사되었습니다!
CVO(Cluster Version Operator)에서 모니터링하는 리소스 중 하나는 ClusterVersion 리소스입니다.
관리자 및 OpenShift 구성 요소는 ClusterVersion 오브젝트를 통해 CVO와 통신하거나 상호 작용할 수 있습니다. 원하는 CVO 상태는 ClusterVersion 오브젝트를 통해 선언되며 현재 CVO 상태는 오브젝트 상태에 반영됩니다.
ClusterVersion 오브젝트를 직접 수정하지 마십시오. 대신 oc CLI 또는 웹 콘솔과 같은 인터페이스를 사용하여 업데이트 대상을 선언합니다.
CVO는 ClusterVersion 리소스의 spec 속성에 선언된 대상 상태로 클러스터를 지속적으로 조정합니다. 원하는 릴리스가 실제 릴리스와 다른 경우 조정이 클러스터를 업데이트합니다.
1.2.1.1.1. 가용성 데이터 업데이트 링크 복사링크가 클립보드에 복사되었습니다!
ClusterVersion 리소스에는 클러스터에서 사용할 수 있는 업데이트에 대한 정보도 포함되어 있습니다. 여기에는 클러스터에 적용되는 알려진 위험으로 인해 사용할 수 있지만 권장되지 않는 업데이트가 포함됩니다. 이러한 업데이트를 조건부 업데이트라고 합니다. CVO가 ClusterVersion 리소스의 사용 가능한 업데이트에 대한 이 정보를 유지 관리하는 방법에 대한 자세한 내용은 "업데이트 가용성 평가" 섹션을 참조하십시오.
다음 명령을 사용하여 사용 가능한 모든 업데이트를 검사할 수 있습니다.
$ oc adm upgrade --include-not-recommended참고추가
--include-not-recommended매개변수에는 클러스터에 적용되는 알려진 위험으로 인해 사용할 수 있지만 권장되지 않는 업데이트가 포함되어 있습니다.출력 예
Cluster version is 4.10.22 Upstream is unset, so the cluster will use an appropriate default. Channel: fast-4.11 (available channels: candidate-4.10, candidate-4.11, eus-4.10, fast-4.10, fast-4.11, stable-4.10) Recommended updates: VERSION IMAGE 4.10.26 quay.io/openshift-release-dev/ocp-release@sha256:e1fa1f513068082d97d78be643c369398b0e6820afab708d26acda2262940954 4.10.25 quay.io/openshift-release-dev/ocp-release@sha256:ed84fb3fbe026b3bbb4a2637ddd874452ac49c6ead1e15675f257e28664879cc 4.10.24 quay.io/openshift-release-dev/ocp-release@sha256:aab51636460b5a9757b736a29bc92ada6e6e6282e46b06e6fd483063d590d62a 4.10.23 quay.io/openshift-release-dev/ocp-release@sha256:e40e49d722cb36a95fa1c03002942b967ccbd7d68de10e003f0baa69abad457b Supported but not recommended updates: Version: 4.11.0 Image: quay.io/openshift-release-dev/ocp-release@sha256:300bce8246cf880e792e106607925de0a404484637627edf5f517375517d54a4 Recommended: False Reason: RPMOSTreeTimeout Message: Nodes with substantial numbers of containers and CPU contention may not reconcile machine configuration https://bugzilla.redhat.com/show_bug.cgi?id=2111817#c22oc adm upgrade명령은ClusterVersion리소스에 사용 가능한 업데이트에 대한 정보를 쿼리하고 사용자가 읽을 수 있는 형식으로 제공합니다.CVO에서 생성한 기본 가용성 데이터를 직접 검사하는 한 가지 방법은 다음 명령을 사용하여
ClusterVersion리소스를 쿼리하는 것입니다.$ oc get clusterversion version -o json | jq '.status.availableUpdates'출력 예
[ { "channels": [ "candidate-4.11", "candidate-4.12", "fast-4.11", "fast-4.12" ], "image": "quay.io/openshift-release-dev/ocp-release@sha256:400267c7f4e61c6bfa0a59571467e8bd85c9188e442cbd820cc8263809be3775", "url": "https://access.redhat.com/errata/RHBA-2023:3213", "version": "4.11.41" }, ... ]유사한 명령을 사용하여 조건부 업데이트를 확인할 수 있습니다.
$ oc get clusterversion version -o json | jq '.status.conditionalUpdates'출력 예
[ { "conditions": [ { "lastTransitionTime": "2023-05-30T16:28:59Z", "message": "The 4.11.36 release only resolves an installation issue https://issues.redhat.com//browse/OCPBUGS-11663 , which does not affect already running clusters. 4.11.36 does not include fixes delivered in recent 4.11.z releases and therefore upgrading from these versions would cause fixed bugs to reappear. Red Hat does not recommend upgrading clusters to 4.11.36 version for this reason. https://access.redhat.com/solutions/7007136", "reason": "PatchesOlderRelease", "status": "False", "type": "Recommended" } ], "release": { "channels": [...], "image": "quay.io/openshift-release-dev/ocp-release@sha256:8c04176b771a62abd801fcda3e952633566c8b5ff177b93592e8e8d2d1f8471d", "url": "https://access.redhat.com/errata/RHBA-2023:1733", "version": "4.11.36" }, "risks": [...] }, ... ]
1.2.1.2. 업데이트 가용성 평가 링크 복사링크가 클립보드에 복사되었습니다!
CVO(Cluster Version Operator)는 업데이트 가능성에 대한 최신 데이터에 대해 OSUS(OpenShift Update Service)를 주기적으로 쿼리합니다. 이 데이터는 클러스터의 서브스크립션 채널을 기반으로 합니다. 그런 다음 CVO는 업데이트 권장 사항에 대한 정보를 ClusterVersion 리소스의 availableUpdates 또는 conditionalUpdates 필드에 저장합니다.
CVO는 조건부 업데이트에서 업데이트 위험을 주기적으로 확인합니다. 이러한 위험은 OSUS에서 제공하는 데이터를 통해 전달되며, 여기에는 해당 버전으로 업데이트된 클러스터에 영향을 미칠 수 있는 알려진 문제에 대한 각 버전에 대한 정보가 포함되어 있습니다. 대부분의 위험은 특정 클라우드 플랫폼에 배포된 특정 크기 또는 클러스터가 있는 클러스터와 같이 특정 특성이 있는 클러스터로 제한됩니다.
CVO는 각 조건부 업데이트의 조건부 위험 정보에 대해 클러스터 특성을 지속적으로 평가합니다. CVO가 클러스터가 기준과 일치하도록 발견하면 CVO는 이 정보를 ClusterVersion 리소스의 conditionalUpdates 필드에 저장합니다. CVO가 클러스터가 업데이트 위험과 일치하지 않거나 업데이트와 관련된 위험이 없는 경우 ClusterVersion 리소스의 availableUpdates 필드에 대상 버전을 저장합니다.
사용자 인터페이스(웹 콘솔 또는 OpenShift CLI(oc))는 이 정보를 관리자에게 제목으로 지정합니다. 지원되지만 권장 업데이트 권장 사항은 관리자가 업데이트에 대해 정보에 입각한 결정을 내릴 수 있도록 위험 관련 추가 리소스에 대한 링크가 포함되어 있습니다.