1장. OpenShift 업데이트 이해
1.1. OpenShift 업데이트 소개 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Container Platform 4를 사용하면 웹 콘솔이나 OpenShift CLI( oc
)를 사용하여 단일 작업으로 OpenShift Container Platform 클러스터를 업데이트할 수 있습니다. 플랫폼 관리자는 웹 콘솔에서 관리 oc adm upgrade
명령의 출력을 확인하여 새로운 업데이트 옵션을 볼 수 있습니다.
Red Hat은 공식 레지스트리에 있는 OpenShift Container Platform 릴리스 이미지를 기반으로 업데이트 가능성 그래프를 제공하는 공개 OpenShift 업데이트 서비스(OSUS)를 호스팅합니다. 그래프에는 공개 OCP 릴리스에 대한 업데이트 정보가 포함되어 있습니다. OpenShift Container Platform 클러스터는 기본적으로 OSUS에 연결되도록 구성되며, OSUS는 알려진 업데이트 대상에 대한 정보를 사용하여 클러스터에 응답합니다.
업데이트는 클러스터 관리자나 자동 업데이트 컨트롤러가 클러스터 버전 운영자(CVO)의 사용자 지정 리소스(CR)를 새 버전으로 편집할 때 시작됩니다. 클러스터를 새로 지정된 버전으로 조정하기 위해 CVO는 이미지 레지스트리에서 대상 릴리스 이미지를 검색하고 클러스터에 변경 사항을 적용하기 시작합니다.
이전에 Operator Lifecycle Manager(OLM)를 통해 설치한 운영자는 다른 업데이트 프로세스를 따릅니다. 자세한 내용은 설치된 운영자 업데이트를 참조하세요.
대상 릴리스 이미지에는 특정 OCP 버전을 구성하는 모든 클러스터 구성 요소에 대한 매니페스트 파일이 포함되어 있습니다. 클러스터를 새 버전으로 업데이트할 때 CVO는 실행 수준이라는 별도의 단계에 매니페스트를 적용합니다. 대부분의 매니페스트는 클러스터 운영자 중 하나를 지원하지만, 전부는 아닙니다. CVO가 클러스터 운영자에 매니페스트를 적용하면 운영자는 새로 지정된 버전에 맞게 조정하기 위해 업데이트 작업을 수행할 수 있습니다.
CVO는 적용된 각 리소스의 상태와 모든 클러스터 운영자가 보고한 상태를 모니터링합니다. CVO는 활성 실행 레벨의 모든 매니페스트와 클러스터 운영자가 안정적인 상태에 도달할 때만 업데이트를 진행합니다. CVO가 이 프로세스를 통해 전체 제어 평면을 업데이트한 후, MCO(Machine Config Operator)는 클러스터의 모든 노드의 운영 체제와 구성을 업데이트합니다.
1.1.1. 업데이트 가용성에 대한 일반적인 질문 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Container Platform 클러스터에 업데이트가 제공되는지 여부와 시기에 영향을 미치는 여러 요소가 있습니다. 다음 목록은 업데이트 가능 여부와 관련된 일반적인 질문을 제공합니다.
각 업데이트 채널의 차이점은 무엇인가요?
-
새로운 릴리스는 처음에
후보
채널에 추가됩니다. -
성공적인 최종 테스트가 끝나면
후보
채널의 릴리스가빠른
채널로 승격되고, 정정 사항이 게시되며, 이제 릴리스가 완벽하게 지원됩니다. 지연 후,
빠른
채널에서 릴리스된 것이 마침내안정
채널로 승격됩니다. 이 지연은fast
채널과stable
채널의 유일한 차이점입니다.참고최신 z-stream 릴리스의 경우 이 지연은 일반적으로 1주 또는 2주가 될 수 있습니다. 그러나 최신 마이너 버전으로의 최초 업데이트가 지연되는 데는 일반적으로 45~90일이 걸릴 수 있습니다.
-
안정
채널로 승격된 릴리스는 동시에eus
채널로 승격됩니다.eus
채널의 주요 목적은 제어 평면 전용 업데이트를 수행하는 클러스터의 편의성을 제공하는 것입니다.
안정적인
채널에 출시하는 것이 빠른
채널에 출시하는 것보다 더 안전하거나 더 많은 지원을 받을 수 있나요?
-
빠른
채널의 릴리스에서 회귀가 확인되면안정적인
채널의 릴리스에서 해당 회귀가 확인된 것과 동일한 수준으로 해결되고 관리됩니다. -
빠른
채널과안정적인
채널에서 릴리스되는 것의 유일한 차이점은 릴리스가빠른
채널에서 일정 기간 동안 유지된 후에야안정적인
채널에 나타난다는 점입니다. 이를 통해 새로운 업데이트 위험을 발견할 수 있는 시간이 더 많아집니다. -
빠른
채널에서 제공되는 릴리스는 이 지연 시간 이후에는 항상안정적인
채널에서 제공되게 됩니다.
업데이트에 알려진 문제가 있다는 것은 무엇을 의미합니까?
- Red Hat은 여러 소스의 데이터를 지속적으로 평가하여 한 버전에서 다른 버전으로의 업데이트에 선언된 문제가 있는지 확인합니다. 발견된 문제는 일반적으로 해당 버전의 릴리스 노트에 기록됩니다. 업데이트 경로에 알려진 문제가 있는 경우에도 고객은 업데이트를 수행하면 계속 지원을 받을 수 있습니다.
Red Hat은 사용자가 특정 버전으로 업데이트하는 것을 차단하지 않습니다. Red Hat은 특정 클러스터에 적용될 수도 있고 그렇지 않을 수도 있는 조건부 업데이트 위험을 선언할 수 있습니다.
- 선언된 위험은 클러스터 관리자에게 지원되는 업데이트에 대한 더 많은 정보를 제공합니다. 클러스터 관리자는 여전히 위험을 감수하고 해당 대상 버전으로 업데이트할 수 있습니다.
특정 릴리스에 대한 업데이트가 더 이상 권장되지 않는 경우 어떻게 해야 하나요?
- Red Hat이 회귀로 인해 지원되는 모든 릴리스에서 업데이트 권장 사항을 제거하는 경우, 회귀를 수정하는 대체 업데이트 권장 사항이 향후 버전에 제공됩니다. 결함을 수정하고 테스트하여 선택한 채널에 홍보하는 동안 지연이 발생할 수 있습니다.
다음 z-stream 릴리스가 빠르고 안정적인 채널에서 제공되기까지 얼마나 걸리나요?
구체적인 주기는 여러 요인에 따라 다를 수 있지만, 최신 마이너 버전에 대한 새로운 z-stream 릴리스는 일반적으로 매주 제공됩니다. 시간이 지나면서 안정성이 높아진 이전의 마이너 버전은 새로운 z-stream 릴리스가 출시되기까지 훨씬 더 오랜 시간이 걸릴 수 있습니다.
중요이는 과거 z-stream 릴리스에 대한 데이터를 기반으로 한 추정치일 뿐입니다. Red Hat은 필요에 따라 출시 빈도를 변경할 권리가 있습니다. 여러 가지 문제로 인해 이 릴리스 주기에 불규칙성과 지연이 발생할 수 있습니다.
-
Z-stream 릴리스가 게시되면 해당 마이너 버전의
빠른
채널에도 나타납니다. 일정 시간 지연 후, z-stream 릴리스가 해당 마이너 버전의안정
채널에 나타날 수 있습니다.
1.1.2. OpenShift 업데이트 서비스 정보 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift 업데이트 서비스(OSUS)는 Red Hat Enterprise Linux CoreOS(RHCOS)를 포함한 OpenShift Container Platform에 대한 업데이트 권장 사항을 제공합니다. 구성 요소 Operator의 정점과 이를 연결하는 에지를 포함하는 그래프 또는 다이어그램을 제공합니다. 그래프의 에지에는 안전하게 업데이트할 수 있는 버전이 표시됩니다. 정점은 관리형 클러스터 구성 요소의 상태를 지정하는 업데이트 페이로드입니다.
클러스터의 CVO (Cluster Version Operator)는 OpenShift Update Service를 확인하여 현재 구성 요소 버전 및 그래프의 정보를 기반으로 유효한 업데이트 및 업데이트 경로를 확인합니다. 업데이트를 요청하면 CVO는 해당 릴리스 이미지를 사용하여 클러스터를 업데이트합니다. 릴리스 아티팩트는 Quay에서 컨테이너 이미지로 호스팅됩니다.
OpenShift Update Service가 호환 가능한 업데이트만 제공할 수 있도록 자동화를 지원하는 버전 확인 파이프 라인이 제공됩니다. 각 릴리스 아티팩트는 지원되는 클라우드 플랫폼 및 시스템 아키텍처 및 기타 구성 요소 패키지와의 호환성 여부를 확인합니다. 파이프 라인에서 적용 가능한 버전이 있음을 확인한 후 OpenShift Update Service는 해당 버전 업데이트를 사용할 수 있음을 알려줍니다.
OpenShift 업데이트 서비스(OSUS)는 단일 스트림 릴리스 모델을 지원합니다. 즉, 항상 하나의 릴리스 버전만 활성화되고 지원됩니다. 새로운 릴리스가 배포되면 이전 릴리스가 완전히 대체됩니다.
업데이트된 릴리스에서는 4.8부터 최신 릴리스 버전까지의 모든 OpenShift Container Platform 버전에서 업그레이드를 지원합니다.
OpenShift Update Service는 현재 클러스터에 권장되는 모든 업데이트를 표시합니다. OpenShift 업데이트 서비스에서 업데이트 경로를 권장하지 않는 경우, 비호환성이나 가용성 등 업데이트 경로와 관련된 알려진 문제가 원인일 수 있습니다.
연속 업데이트 모드에서는 두 개의 컨트롤러가 실행됩니다. 하나의 컨트롤러는 페이로드 매니페스트를 지속적으로 업데이트하여 매니페스트를 클러스터에 적용한 다음 Operator의 제어된 롤아웃 상태를 출력하여 사용 가능한지, 업그레이드했는지 또는 실패했는지의 여부를 나타냅니다. 두 번째 컨트롤러는 OpenShift Update Service를 폴링하여 업데이트를 사용할 수 있는지 확인합니다.
최신 버전으로만 업데이트할 수 있습니다. 클러스터를 이전 버전으로 되돌리거나 롤백을 수행하는 것은 지원되지 않습니다. 업데이트에 실패하면 Red Hat 지원에 문의하십시오.
업데이트 프로세스 중에 MCO(Machine Config Operator)는 새 설정을 클러스터 머신에 적용합니다. MCO는 머신 구성 풀의 maxUnavailable
필드에 지정된 노드 수를 제한하고 사용할 수 없음을 표시합니다. 기본적으로 이 값은 1
로 설정됩니다. MCO는 topology.kubernetes.io/zone
레이블을 기반으로 영역별로 영향을 받는 노드를 업데이트합니다. 영역에 둘 이상의 노드가 있으면 가장 오래된 노드가 먼저 업데이트됩니다. 베어 메탈 배포에서와 같이 영역을 사용하지 않는 노드의 경우 노드가 수명에 따라 업데이트되며 가장 오래된 노드가 먼저 업데이트됩니다. MCO는 머신 구성 풀의 maxUnavailable
필드에 지정된 노드 수를 한 번에 업데이트합니다. MCO는 새 설정을 적용하여 컴퓨터를 다시 시작합니다.
OpenShift Container Platform의 모든 머신 구성 풀에 대한 maxUnavailable
의 기본 설정은 1
입니다. 이 값은 변경하지 말고 한 번에 하나의 제어 평면 노드만 업데이트하는 것이 좋습니다. 제어 평면 풀의 경우 이 값을 3
으로 변경하지 마세요.
Red Hat Enterprise Linux(RHEL) 머신을 작업자로 사용하는 경우 MCO는 kubelet을 업데이트하지 않습니다. 먼저 머신에서 OpenShift API를 업데이트해야 하기 때문입니다.
새 버전의 사양이 이전 kubelet에 적용되므로 RHEL 머신을 Ready
상태로 되돌릴 수 없습니다. 컴퓨터를 사용할 수 있을 때까지 업데이트를 완료할 수 없습니다. 그러나 사용 불가능한 최대 노드 수를 설정하면 사용할 수 없는 머신의 수가 이 값을 초과하지 않는 경우에도 정상적인 클러스터 작업을 계속할 수 있습니다.
OpenShift Update Service는 Operator 및 하나 이상의 애플리케이션 인스턴스로 구성됩니다.
1.1.3. 클러스터 연산자 조건 유형 이해 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 운영자의 상태에는 운영자의 현재 상태를 알려주는 상태 유형이 포함됩니다. 다음 정의는 몇 가지 일반적인 ClusterOperator 조건 유형 목록을 다룹니다. 추가 조건 유형이 있고 연산자별 언어를 사용하는 연산자는 생략되었습니다.
클러스터 버전 운영자(CVO)는 클러스터 관리자가 OpenShift Container Platform 클러스터의 상태를 더 잘 이해할 수 있도록 클러스터 운영자로부터 상태 조건을 수집하는 역할을 합니다.
-
사용 가능:
사용 가능
조건 유형은 연산자가 클러스터에서 작동하고 사용 가능함을 나타냅니다. 상태가False
인 경우 피연산자의 일부 이상이 작동하지 않으며 조건에 따라 관리자가 개입해야 합니다. 진행 중:
진행 중이
라는 조건 유형은 운영자가 적극적으로 새로운 코드를 출시하고, 구성 변경 사항을 전파하고 있거나, 다른 방식으로 하나의 안정된 상태에서 다른 안정된 상태로 이동하고 있음을 나타냅니다.연산자는 이전에 알려진 상태를 조정할 때
진행
조건 유형을참
으로 보고하지 않습니다. 관찰된 클러스터 상태가 변경되었고 운영자가 이에 반응하는 경우, 하나의 정상 상태에서 다른 정상 상태로 이동하고 있으므로 상태가True
로 보고됩니다.저하됨:
저하된
조건 유형은 운영자의 현재 상태가 일정 기간 동안 필요한 상태와 일치하지 않음을 나타냅니다. 기간은 구성 요소에 따라 다를 수 있지만,저하된
상태는 운영자의 상태를 지속적으로 관찰하는 것을 나타냅니다. 결과적으로, 운영자는저하된
상태로 변동하지 않습니다.한 상태에서 다른 상태로의 전환이
저하됨을
보고할 만큼 오랫동안 지속되지 않으면 다른 조건 유형이 있을 수 있습니다. 운영자가 정상적인 업데이트 과정에서성능 저하를
보고하지 않습니다. 운영자는 관리자의 개입이 필요한 지속적인 인프라 장애에 대한 대응으로저하를
보고할 수 있습니다.참고이 조건 유형은 조사 및 조정이 필요할 수 있음을 나타내는 지표일 뿐입니다. 운영자가 사용 가능한 한,
성능 저하
조건은 사용자 작업 장애나 애플리케이션 가동 중지를 유발하지 않습니다.업그레이드 가능:
업그레이드 가능
조건 유형은 현재 클러스터 상태를 기준으로 운영자가 업데이트하기에 안전한지 여부를 나타냅니다. 메시지 필드에는 클러스터를 성공적으로 업데이트하기 위해 관리자가 수행해야 하는 작업에 대한 사람이 읽을 수 있는 설명이 포함되어 있습니다. CVO는 이 조건이True
,Unknown
또는 missing인 경우 업데이트를 허용합니다.업그레이드 가능
상태가False
인 경우, 사소한 업데이트만 영향을 받으며, CVO는 강제로 수행하지 않는 한 클러스터가 영향을 받는 업데이트를 수행하지 못하도록 합니다.
1.1.4. 클러스터 버전 조건 유형 이해 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 버전 운영자(CVO)는 클러스터 운영자와 기타 구성 요소를 모니터링하고 클러스터 버전과 운영자의 상태를 수집하는 역할을 합니다. 이 상태에는 OpenShift Container Platform 클러스터의 상태와 현재 상태를 알려주는 조건 유형이 포함됩니다.
Available
, Progressing
, Upgradeable
외에도 클러스터 버전과 Operators에 영향을 미치는 조건 유형이 있습니다.
-
실패: 클러스터 버전 조건 유형 '
실패'
는 클러스터가 원하는 상태에 도달할 수 없고, 상태가 좋지 않으며, 관리자의 개입이 필요하다는 것을 나타냅니다. -
유효하지 않음: 클러스터 버전 조건 유형이
유효하지 않음은
클러스터 버전에 오류가 있어 서버가 조치를 취할 수 없음을 나타냅니다. CVO는 이 조건이 설정되어 있는 동안만 현재 상태를 조정합니다. -
RetrievedUpdates: 클러스터 버전 조건 유형
RetrievedUpdates는
사용 가능한 업데이트가 업스트림 업데이트 서버에서 검색되었는지 여부를 나타냅니다. 검색 전에는알 수 없음
조건이고, 업데이트가 최근에 실패했거나 검색할 수 없는 경우False 조건
이고,availableUpdates
필드가 최신이고 정확한 경우True 조건이
됩니다. -
ReleaseAccepted:
True
상태를 갖는 클러스터 버전 조건 유형ReleaseAccepted는
요청된 릴리스 페이로드가 이미지 검증 및 사전 조건 검사 중에 오류 없이 성공적으로 로드되었음을 나타냅니다. -
ImplicitlyEnabledCapabilities:
True
상태를 갖는 클러스터 버전 조건 유형ImplicitlyEnabledCapabilities
는 사용자가 현재spec.capabilities를
통해 요청하지 않는 활성화된 기능이 있음을 나타냅니다. CVO는 연관된 리소스가 이전에 CVO에 의해 관리된 경우 기능 비활성화를 지원하지 않습니다.
1.1.5. 일반 용어 링크 복사링크가 클립보드에 복사되었습니다!
- 컨트롤 플레인
- 컨트롤 플레인 시스템으로 구성된 컨트롤 플레인은 OpenShift Container Platform 클러스터를 관리합니다. 컨트롤 플레인 머신에서는 작업자 머신이라고도 하는 컴퓨팅 머신의 워크로드를 관리합니다.
- Cluster Version Operator
- 클러스터 버전 운영자 (CVO)는 클러스터에 대한 업데이트 프로세스를 시작합니다. 현재 클러스터 버전을 기준으로 OSUS에 확인하고 사용 가능하거나 가능한 업데이트 경로가 포함된 그래프를 검색합니다.
- Machine Config Operator
- MCO( Machine Config Operator )는 운영 체제와 머신 구성을 관리하는 클러스터 수준 운영자입니다. MCO를 통해 플랫폼 관리자는 작업자 노드에서 systemd, CRI-O 및 Kubelet, 커널, NetworkManager 및 기타 시스템 기능을 구성하고 업데이트할 수 있습니다.
- OpenShift 업데이트 서비스
- OpenShift 업데이트 서비스 (OSUS)는 Red Hat Enterprise Linux CoreOS(RHCOS)를 포함하여 OpenShift Container Platform에 대한 무선 업데이트를 제공합니다. 이는 구성 연산자의 정점과 정점을 연결하는 간선을 포함하는 그래프 또는 다이어그램을 제공합니다.
- 채널
- 채널은 OpenShift Container Platform의 하위 버전에 연결된 업데이트 전략을 선언합니다. OSUS는 이 구성된 전략을 사용하여 해당 전략과 일치하는 에지를 업데이트할 것을 권장합니다.
- 권장 업데이트 에지
- 권장되는 업데이트 에지는 OpenShift Container Platform 릴리스 간에 권장되는 업데이트입니다. 해당 업데이트가 권장되는지 여부는 클러스터의 구성된 채널, 현재 버전, 알려진 버그 및 기타 정보에 따라 달라질 수 있습니다. OSUS는 모든 클러스터에서 실행되는 CVO에 권장되는 에지를 전달합니다.