2장. OpenShift 업데이트 이해
2.1. OpenShift 업데이트 소개
OpenShift Container Platform 4에서는 웹 콘솔 또는 OpenShift CLI(oc
)를 사용하여 단일 작업으로 OpenShift Container Platform 클러스터를 업데이트할 수 있습니다. 플랫폼 관리자는 웹 콘솔에서 관리 oc adm upgrade
명령의 출력을 확인하여 새 업데이트 옵션을 볼 수 있습니다.
Red Hat은 공식 레지스트리의 OpenShift Container Platform 릴리스 이미지를 기반으로 하는 업데이트 가능성 그래프를 제공하는 OSUS(OpenShift Update Service)를 호스팅합니다. 그래프에는 모든 공용 OCP 릴리스에 대한 업데이트 정보가 포함되어 있습니다. OpenShift Container Platform 클러스터는 기본적으로 OSUS에 연결하도록 구성되며 OSUS는 알려진 업데이트 대상에 대한 정보를 사용하여 클러스터에 응답합니다.
클러스터 관리자 또는 자동 업데이트 컨트롤러가 새 버전으로 CVO(Cluster Version Operator)의 CR(사용자 정의 리소스)을 편집할 때 업데이트가 시작됩니다. 새로 지정된 버전으로 클러스터를 조정하기 위해 CVO는 이미지 레지스트리에서 대상 릴리스 이미지를 검색하고 변경 사항을 클러스터에 적용하기 시작합니다.
OLM(Operator Lifecycle Manager)을 통해 이전에 설치한 Operator는 업데이트를 위해 다른 프로세스를 따릅니다. 자세한 내용은 설치된 Operator 업데이트를 참조하십시오.
대상 릴리스 이미지에는 특정 OCP 버전을 구성하는 모든 클러스터 구성 요소에 대한 매니페스트 파일이 포함되어 있습니다. 클러스터를 새 버전으로 업데이트할 때 CVO는 Runlevels라는 별도의 단계에 매니페스트를 적용합니다. 대부분은 아니지만 일부 매니페스트는 클러스터 Operator 중 하나를 지원합니다. CVO는 클러스터 Operator에 매니페스트를 적용하므로 Operator에서 업데이트 작업을 수행하여 새 지정된 버전으로 조정할 수 있습니다.
CVO는 적용되는 각 리소스의 상태 및 모든 클러스터 Operator가 보고한 상태를 모니터링합니다. CVO는 활성 Runlevel의 모든 매니페스트 및 클러스터 Operator가 안정적인 상태에 도달하는 경우에만 업데이트를 진행합니다. CVO는 이 프로세스를 통해 전체 컨트롤 플레인을 업데이트한 후 MCO(Machine Config Operator)는 클러스터의 모든 노드의 운영 체제 및 구성을 업데이트합니다.
2.1.1. 업데이트 가용성에 대한 일반적인 질문
OpenShift Container Platform 클러스터에서 업데이트를 사용할 수 있는 경우 및 경우에 영향을 미치는 몇 가지 요소가 있습니다. 다음 목록은 업데이트 가용성에 대한 일반적인 질문을 제공합니다.
각 업데이트 채널의 차이점은 무엇입니까?
-
처음에 새 릴리스가
candidate
채널에 추가됩니다. -
최종 테스트를 완료한 후
candidate
채널의 릴리스가fast
채널로 승격되고 에라타가 게시되고 릴리스가 완전히 지원됩니다. 지연 후
fast
채널의 릴리스는 결국stable
채널로 승격됩니다. 이 지연은fast
채널과stable
채널의 유일한 차이점입니다.참고최신 z-stream 릴리스의 경우 이 지연은 일반적으로 1주 또는 2주가 될 수 있습니다. 그러나 최신 마이너 버전에 대한 초기 업데이트 지연은 일반적으로 45-90일로 더 오래 걸릴 수 있습니다.
-
stable
채널로 승격된 릴리스는 동시에eus
채널로 확장됩니다.eus
채널의 주요 목적은 EUS-to-EUS 업데이트를 수행하는 클러스터의 편의를 제공하는 것입니다.
stable
채널의 릴리스가 fast
채널의 릴리스보다 안전하거나 더 지원됩니까?
-
fast
채널의 릴리스에 대해 회귀 문제가 확인되면stable
채널의 릴리스에 대해 해당 회귀가 식별된 경우와 동일한 범위로 확인되고 관리됩니다. -
fast
및stable
채널에서 릴리스의 유일한 차이점은 릴리스가 잠시 동안fast
채널에 있는 후에만stable
채널에 표시되므로 새로운 업데이트 위험을 더 많이 사용할 수 있다는 것입니다. -
fast
채널에서 사용 가능한 릴리스는 이 지연 후stable
채널에서 항상 사용할 수 있습니다.
업데이트가 지원되지만 권장되지 않는 경우 무엇을 의미합니까?
- Red Hat은 여러 소스의 데이터를 지속적으로 평가하여 한 버전에서 다른 버전으로의 업데이트가 문제가 발생하는지 확인합니다. 문제가 확인된 경우 업데이트 경로가 더 이상 사용자에게 권장되지 않을 수 있습니다. 그러나 업데이트 경로가 권장되지 않더라도 업데이트를 수행하는 경우에도 고객은 계속 지원됩니다.
Red Hat은 사용자가 특정 버전으로의 업데이트를 차단하지 않습니다. Red Hat은 특정 클러스터에 적용되거나 적용되지 않을 수 있는 조건부 업데이트 위험을 선언할 수 있습니다.
- 선언된 위험은 클러스터 관리자에게 지원되는 업데이트에 대한 자세한 컨텍스트를 제공합니다. 클러스터 관리자는 특정 대상 버전으로의 위험 및 업데이트를 계속 허용할 수 있습니다. 이 업데이트는 조건부 위험 컨텍스트에서 권장되지 않더라도 항상 지원됩니다.
특정 릴리스에 대한 업데이트가 더 이상 권장되지 않는 경우 어떻게 해야 합니까?
- 문제 해결으로 인해 Red Hat이 지원되는 릴리스에서 업데이트 권장 사항을 제거하는 경우 회귀 문제를 수정하는 향후 버전에 후속 업데이트 권장 사항이 제공됩니다. 결함이 수정, 테스트 및 선택한 채널로 승격되는 동안 지연이 발생할 수 있습니다.
다음 z-stream 릴리스를 빠르고 안정적인 채널에서 사용할 수 있는 기간은 얼마나 됩니까?
특정 주기는 여러 요인에 따라 다를 수 있지만 최신 마이너 버전의 새로운 z-stream 릴리스는 일반적으로 매주 사용할 수 있습니다. 시간이 지남에 따라 더 안정적인 이전 마이너 버전은 새로운 z-stream 릴리스를 사용할 수 있도록 하는 데 시간이 오래 걸릴 수 있습니다.
중요이는 z-stream 릴리스에 대한 이전 데이터를 기반으로 하는 추정치일 뿐입니다. Red Hat은 필요에 따라 릴리스 빈도를 변경할 수 있는 권한을 갖습니다. 모든 문제는 이 릴리스 주기에서 불규칙성 및 지연을 유발할 수 있습니다.
-
z-stream 릴리스가 게시되면 해당 마이너 버전의
fast
채널에도 표시됩니다. 지연 후 z-stream 릴리스는 해당 마이너 버전의stable
채널에 표시될 수 있습니다.
추가 리소스
2.1.2. 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는 topology.kubernetes.io/zone
레이블을 기반으로 영향을 받는 노드를 영역에 따라 알파벳순으로 업데이트합니다. 영역에 노드가 두 개 이상 있으면 가장 오래된 노드가 먼저 업데이트됩니다. 베어 메탈 배포에서와 같이 영역을 사용하지 않는 노드의 경우 노드가 수명에 따라 업데이트되며 가장 오래된 노드가 먼저 업데이트됩니다. MCO는 한 번에 머신 구성 풀의 maxUnavailable
필드에 지정된 노드 수를 업데이트합니다. MCO는 새 설정을 적용하여 컴퓨터를 다시 시작합니다.
RHEL (Red Hat Enterprise Linux) 머신을 작업자로 사용하는 경우 먼저 시스템에서 OpenShift API를 업데이트해야하기 때문에 MCO는 이 머신에서 kubelet을 업데이트하지 않습니다.
새 버전의 사양이 이전 kubelet에 적용되므로 RHEL 머신을 Ready
상태로 되돌릴 수 없습니다. 컴퓨터를 사용할 수 있을 때까지 업데이트를 완료할 수 없습니다. 그러나 사용 불가능한 최대 노드 수를 설정하면 사용할 수 없는 머신의 수가 이 값을 초과하지 않는 경우에도 정상적인 클러스터 작업을 계속할 수 있습니다.
OpenShift Update Service는 Operator 및 하나 이상의 애플리케이션 인스턴스로 구성됩니다.
2.1.3. 일반 용어
- 컨트롤 플레인
- 컨트롤 플레인 시스템으로 구성된 컨트롤 플레인 은 OpenShift Container Platform 클러스터를 관리합니다. 컨트롤 플레인 머신에서는 작업자 머신이라고도 하는 컴퓨팅 머신의 워크로드를 관리합니다.
- Cluster Version Operator
- CVO( Cluster Version Operator )는 클러스터의 업데이트 프로세스를 시작합니다. 현재 클러스터 버전을 기반으로 OSUS를 확인하고 사용 가능한 업데이트 경로를 포함하는 그래프를 검색합니다.
- Machine Config Operator
- MCO( Machine Config Operator )는 운영 체제 및 머신 구성을 관리하는 클러스터 수준 Operator입니다. MCO를 통해 플랫폼 관리자는 작업자 노드의 systemd, CRI-O 및 Kubelet, 커널, NetworkManager 및 기타 시스템 기능을 구성하고 업데이트할 수 있습니다.
- OpenShift 업데이트 서비스
- OSUS( OpenShift Update Service )는 RHCOS(Red Hat Enterprise Linux CoreOS)를 포함하여 OpenShift Container Platform에 대한 무선 업데이트를 제공합니다. 구성 요소 Operator의 정점과 이를 연결하는 에지를 포함하는 그래프 또는 다이어그램을 제공합니다.
- 채널
- 채널은 OpenShift Container Platform의 마이너 버전과 관련된 업데이트 전략을 선언합니다. OSUS는 이 구성된 전략을 사용하여 해당 전략과 일치하는 에지를 업데이트하는 것이 좋습니다.
- 권장 업데이트 edge
- 권장 업데이트 에지 는 OpenShift Container Platform 릴리스 간에 권장되는 업데이트입니다. 지정된 업데이트가 권장되는지 클러스터의 구성 채널, 현재 버전, 알려진 버그 및 기타 정보에 따라 달라질 수 있습니다. OSUS는 권장 에지를 CVO와 통신하여 모든 클러스터에서 실행됩니다.
- EUS (Extended Update Support)
모든 post-4.7 even-numbered 마이너 릴리스는 EUS ( Extended Update Support ) 릴리스로 레이블이 지정됩니다. 이러한 릴리스에서는 EUS 릴리스 간에 검증된 업데이트 경로를 도입하여 작업자 노드의 업데이트를 간소화하고 EUS에서 EUS에서 OpenShift Container Platform 릴리스의 업데이트 전략을 공식화하여 작업자 노드의 재부팅 횟수를 줄일 수 있습니다.
자세한 내용은 Red Hat OpenShift Extended Update Support (EUS) 개요 를 참조하십시오.
2.1.4. 추가 리소스
- 업데이트 프로세스의 각 주요 측면에 대한 자세한 내용은 클러스터 업데이트 작동 방법을 참조하십시오.