1장. OpenShift 업데이트 이해


1.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)는 클러스터의 모든 노드의 운영 체제 및 구성을 업데이트합니다.

1.1.1. 업데이트 가용성에 대한 일반적인 질문

OpenShift Container Platform 클러스터에서 업데이트를 사용할 수 있는 경우 및 경우에 영향을 미치는 몇 가지 요소가 있습니다. 다음 목록은 업데이트 가용성에 대한 일반적인 질문을 제공합니다.

각 업데이트 채널의 차이점은 무엇입니까?

  • 처음에 새 릴리스가 candidate 채널에 추가됩니다.
  • 최종 테스트를 완료한 후 candidate 채널의 릴리스가 fast 채널로 승격되고 에라타가 게시되고 릴리스가 완전히 지원됩니다.
  • 지연 후 fast 채널의 릴리스는 결국 stable 채널로 승격됩니다. 이 지연은 fast 채널과 stable 채널의 유일한 차이점입니다.

    참고

    최신 z-stream 릴리스의 경우 이 지연은 일반적으로 1주 또는 2주가 될 수 있습니다. 그러나 최신 마이너 버전에 대한 초기 업데이트 지연은 일반적으로 45-90일로 더 오래 걸릴 수 있습니다.

  • stable 채널로 승격된 릴리스는 동시에 eus 채널로 확장됩니다. eus 채널의 주요 목적은 컨트롤 플레인만 업데이트를 수행하는 클러스터의 편의를 제공하는 것입니다.

stable 채널의 릴리스가 fast 채널의 릴리스보다 안전하거나 더 지원됩니까?

  • fast 채널의 릴리스에 대해 회귀 문제가 확인되면 stable 채널의 릴리스에 대해 해당 회귀가 식별된 경우와 동일한 범위로 확인되고 관리됩니다.
  • faststable 채널에서 릴리스의 유일한 차이점은 릴리스가 잠시 동안 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 채널에 표시될 수 있습니다.

1.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는 새 설정을 적용하여 컴퓨터를 다시 시작합니다.

주의

maxUnavailable 의 기본 설정은 OpenShift Container Platform의 모든 머신 구성 풀에 대해 1 입니다. 이 값을 변경하지 않고 한 번에 하나의 컨트롤 플레인 노드를 업데이트하는 것이 좋습니다. 컨트롤 플레인 풀의 경우 이 값을 3 으로 변경하지 마십시오.

RHEL (Red Hat Enterprise Linux) 머신을 작업자로 사용하는 경우 먼저 시스템에서 OpenShift API를 업데이트해야하기 때문에 MCO는 이 머신에서 kubelet을 업데이트하지 않습니다.

새 버전의 사양이 이전 kubelet에 적용되므로 RHEL 머신을 Ready 상태로 되돌릴 수 없습니다. 컴퓨터를 사용할 수 있을 때까지 업데이트를 완료할 수 없습니다. 그러나 사용 불가능한 최대 노드 수를 설정하면 사용할 수 없는 머신의 수가 이 값을 초과하지 않는 경우에도 정상적인 클러스터 작업을 계속할 수 있습니다.

OpenShift Update Service는 Operator 및 하나 이상의 애플리케이션 인스턴스로 구성됩니다.

1.1.3. 클러스터 Operator 상태 유형 이해

클러스터 Operator 상태에는 Operator의 상태를 나타내는 상태 유형이 포함됩니다. 다음 정의는 몇 가지 일반적인 ClusterOperator 상태 유형의 목록을 다룹니다. 추가 조건 유형이 있고 Operator별 언어를 사용하는 Operator가 생략되었습니다.

CVO(Cluster Version Operator)는 클러스터 관리자가 OpenShift Container Platform 클러스터의 상태를 더 잘 이해할 수 있도록 클러스터 Operator에서 상태 조건을 수집합니다.

  • available: 사용 가능한 조건 유형은 Operator가 작동하고 클러스터에서 사용 가능함을 나타냅니다. 상태가 False 이면 피연산자의 적어도 한 부분이 작동하지 않으며 관리자가 개입해야 합니다.
  • 진행 중: 상태 유형 Progressing 은 Operator가 적극적으로 새 코드를 롤아웃하고, 구성 변경 사항을 전파하거나, 그렇지 않으면 하나의 steady 상태에서 다른 상태로 이동 중임을 나타냅니다.

    Operator는 이전 알려진 상태를 조정할 때 상태 유형 ProgressingTrue 로 보고하지 않습니다. 관찰된 클러스터 상태가 변경되고 Operator가 반응하고 있는 경우 상태가 True 로 다시 보고됩니다. 이는 하나의 연속 상태에서 다른 상태로 이동하기 때문입니다.

  • degraded: 조건 유형 Degraded 는 Operator에 일정 기간 동안 필요한 상태와 일치하지 않는 현재 상태가 있음을 나타냅니다. 기간의 기간은 구성 요소에 따라 다를 수 있지만 성능이 저하된 상태는 Operator의 상태에 대한 지속적인 관찰을 나타냅니다. 결과적으로 Operator는 Degraded 상태에서 변동하지 않습니다.

    한 상태에서 다른 상태로의 전환이 Degraded 를 보고하기에 충분한 기간 동안 지속되지 않는 경우 다른 조건 유형이 있을 수 있습니다. Operator는 일반 업데이트 중에 Degraded 를 보고하지 않습니다. Operator는 최종 관리자 개입이 필요한 영구 인프라 장애에 대한 응답으로 Degraded 를 보고할 수 있습니다.

    참고

    이 조건 유형은 조사 및 수정이 필요할 수 있다는 표시일 뿐입니다. Operator를 사용할 수 있는 경우 Degraded 상태로 인해 사용자 워크로드 실패 또는 애플리케이션 다운 타임이 발생하지 않습니다.

  • Upgradeable: Upgradeable 조건 유형은 Operator가 현재 클러스터 상태에 따라 안전하게 업데이트되는지 여부를 나타냅니다. message 필드에는 관리자가 클러스터를 성공적으로 업데이트하려면 어떻게 해야 하는지에 대한 사람이 읽을 수 있는 설명이 포함되어 있습니다. CVO는 이 조건이 True,알 수 없거나 누락된 경우 업데이트를 허용합니다.

    Upgradeable 상태가 False 인 경우 마이너 업데이트만 영향을 받으며 CVO는 강제 적용되지 않는 한 클러스터가 영향을 받는 업데이트를 수행하지 못하도록 합니다.

1.1.4. 클러스터 버전 조건 유형 이해

CVO(Cluster Version Operator)는 클러스터 Operator 및 기타 구성 요소를 모니터링하고 클러스터 버전과 해당 Operator의 상태를 수집합니다. 이 상태에는 OpenShift Container Platform 클러스터의 상태 및 현재 상태를 알려주는 조건 유형이 포함됩니다.

Available,Progressing, Upgradeable 외에도 클러스터 버전 및 Operator에 영향을 미치는 조건 유형이 있습니다.

  • 실패: 클러스터 버전 조건 Failing 은 클러스터가 원하는 상태에 도달할 수 없으며 비정상이며 관리자가 개입해야 함을 나타냅니다.
  • 잘못된: 클러스터 버전 조건 유형이 유효하지 않음은 클러스터 버전에 서버가 작업을 수행하지 못하도록 하는 오류가 있음을 나타냅니다. CVO는 이 조건이 설정된 경우에만 현재 상태를 조정합니다.
  • RetrievedUpdates: 클러스터 버전 조건 유형 RetrievedUpdates 는 업스트림 업데이트 서버에서 사용 가능한 업데이트가 검색되었는지 여부를 나타냅니다. 검색 전에 조건을 알 수 없음, 업데이트를 최근에 실패했거나 검색할 수 없는 경우 False 또는 availableUpdates 필드가 recent 및 accurate인 경우 True 입니다.
  • ReleaseAccepted: True 상태의 클러스터 버전 조건 유형 ReleaseAccepted 는 요청된 릴리스 페이로드가 이미지 확인 및 사전 조건 확인 중에 실패 없이 성공적으로 로드되었음을 나타냅니다.
  • ImplicitlyEnabledCapabilities: True 상태의 클러스터 버전 조건 유형 ImplicitlyEnabledCapabilities 는 사용자가 spec.capabilities 를 통해 현재 요청하지 않는 활성화 기능이 있음을 나타냅니다. 관련 리소스가 이전에 CVO에서 관리된 경우 CVO는 기능 비활성화를 지원하지 않습니다.

1.1.5. 일반 용어

컨트롤 플레인
컨트롤 플레인 시스템으로 구성된 컨트롤 플레인은 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는 이 구성된 전략을 사용하여 해당 전략과 일치하는 에지를 업데이트할 것을 권장합니다.
권장 업데이트 엣지
권장 업데이트 에지 는 OpenShift Container Platform 릴리스 간에 권장되는 업데이트입니다. 지정된 업데이트가 권장되는지 여부는 클러스터의 구성된 채널, 현재 버전, 알려진 버그 및 기타 정보에 따라 달라질 수 있습니다. OSUS는 모든 클러스터에서 실행되는 CVO에 권장 에지를 전달합니다.

1.1.6. 추가 리소스

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.