2장. OpenShift Container Platform 업데이트 이해
OpenShift Container Platform 4에서는 웹 콘솔 또는 OpenShift CLI(oc
)를 사용하여 단일 작업으로 OpenShift Container Platform 클러스터를 업데이트할 수 있습니다. 플랫폼 관리자는 클러스터에 업데이트를 사용할 수 있는 경우 자동으로 알림을 받습니다.
OSUS(OpenShift Update Service)는 레지스트리의 릴리스 이미지를 기반으로 하는 업데이트 가능성의 그래프를 빌드합니다. 그래프는 특정 버전의 권장 테스트된 업데이트 경로를 기반으로 합니다. OpenShift Container Platform 클러스터는 Red Hat Hybrid Cloud 서버에 연결하고 버전 정보와 함께 사용자가 실행 중인 클러스터를 식별합니다. OSUS는 알려진 업데이트 대상에 대한 정보로 응답합니다. 클러스터 관리자 또는 자동 업데이트 컨트롤러는 업데이트할 새 버전으로 CVO(Cluster Version Operator)의 CR(사용자 정의 리소스)을 편집합니다. CVO가 레지스트리에서 업데이트 이미지를 수신한 후 CVO는 변경 사항을 적용합니다.
OLM(Operator Lifecycle Manager)을 통해 이전에 설치한 Operator는 업데이트를 위해 다른 프로세스를 따릅니다. 자세한 내용은 설치된 Operator 업데이트를 참조하십시오.
2.1. OpenShift 업데이트 서비스 정보
OSUS(OpenShift Update Service)는 RHCOS(Red Hat Enterprise Linux CoreOS)를 포함하여 OpenShift Container Platform에 대한 업데이트 권장 사항을 제공합니다. 구성 요소 Operator의 정점과 이를 연결하는 에지를 포함하는 그래프 또는 다이어그램을 제공합니다. 그래프의 에지에는 안전하게 업데이트할 수 있는 버전이 표시됩니다. 정점은 관리형 클러스터 구성 요소의 상태를 지정하는 업데이트 페이로드입니다.
클러스터의 CVO (Cluster Version Operator)는 OpenShift Update Service를 확인하여 현재 구성 요소 버전 및 그래프의 정보를 기반으로 유효한 업데이트 및 업데이트 경로를 확인합니다. 업데이트를 요청하면 CVO는 해당 업데이트에 릴리스 이미지를 사용하여 클러스터를 업데이트합니다. 릴리스 아티팩트는 Quay에서 컨테이너 이미지로 호스팅됩니다.
OpenShift Update Service가 호환 가능한 업데이트만 제공할 수 있도록 자동화를 지원하는 버전 확인 파이프 라인이 제공됩니다. 각 릴리스 아티팩트는 지원되는 클라우드 플랫폼 및 시스템 아키텍처 및 기타 구성 요소 패키지와의 호환성 여부를 확인합니다. 파이프 라인에서 적용 가능한 버전이 있음을 확인한 후 OpenShift Update Service는 해당 버전 업데이트를 사용할 수 있음을 알려줍니다.
OpenShift Update Service는 현재 클러스터에 권장되는 모든 업데이트를 표시합니다. OpenShift Update Service에서 업데이트 경로를 사용하지 않는 경우 업데이트 또는 대상 릴리스와 관련된 알려진 문제 때문일 수 있습니다.
연속 업데이트 모드에서는 두 개의 컨트롤러가 실행됩니다. 하나의 컨트롤러는 페이로드 매니페스트를 지속적으로 업데이트하여 매니페스트를 클러스터에 적용한 다음 Operator의 제어된 롤아웃 상태를 출력하여 사용 가능한지, 업그레이드했는지 또는 실패했는지의 여부를 나타냅니다. 두 번째 컨트롤러는 OpenShift Update Service를 폴링하여 업데이트를 사용할 수 있는지 확인합니다.
최신 버전으로의 업그레이드만 지원됩니다. 클러스터를 이전 버전으로 되돌리거나 롤백을 수행하는 것은 지원되지 않습니다. 업데이트에 실패하면 Red Hat 지원에 문의하십시오.
업데이트 프로세스 중에 MCO (Machine Config Operator)는 새 구성을 클러스터 머신에 적용합니다. MCO는 머신 설정 풀의 maxUnavailable
필드에 지정된 노드 수를 제한하고 이를 사용할 수없는 것으로 표시합니다. 기본적으로 이 값은 1
로 설정됩니다. MCO는 새 설정을 적용하여 컴퓨터를 다시 시작합니다.
RHEL (Red Hat Enterprise Linux) 머신을 작업자로 사용하는 경우 먼저 시스템에서 OpenShift API를 업데이트해야하기 때문에 MCO는 이 머신에서 kubelet을 업데이트하지 않습니다.
새 버전의 사양이 이전 kubelet에 적용되므로 RHEL 머신을 Ready
상태로 되돌릴 수 없습니다. 컴퓨터를 사용할 수 있을 때까지 업데이트를 완료할 수 없습니다. 그러나 사용 불가능한 최대 노드 수를 설정하면 사용할 수 없는 머신의 수가 이 값을 초과하지 않는 경우에도 정상적인 클러스터 작업을 계속할 수 있습니다.
OpenShift Update Service는 Operator 및 하나 이상의 애플리케이션 인스턴스로 구성됩니다.