11장. 카나리아 롤아웃 업데이트 수행


카나리아 업데이트는 작업자 노드 업데이트가 모든 작업자 노드를 동시에 업데이트하지 않고 순차적 단계로 수행되는 업데이트 전략입니다. 이 전략은 다음 시나리오에서 유용할 수 있습니다.

  • 업데이트 프로세스로 인해 애플리케이션이 실패하더라도 전체 업데이트 중에 미션 크리티컬 애플리케이션을 계속 사용할 수 있도록 작업자 노드 업데이트 롤아웃을 보다 제어해야 합니다.
  • 작업자 노드의 작은 하위 집합을 업데이트하고 일정 기간 동안 클러스터 및 워크로드 상태를 평가한 다음 나머지 노드를 업데이트하려고 합니다.
  • 호스트 재부팅이 필요한 작업자 노드 업데이트에 맞게 한 번에 전체 클러스터를 업데이트할 수 없는 경우 정의된 더 작은 유지 관리 창으로 전환해야 합니다.

이러한 시나리오에서는 클러스터를 업데이트할 때 특정 작업자 노드가 업데이트되지 않도록 여러 MCP(사용자 정의 머신 구성 풀)를 생성할 수 있습니다. 나머지 클러스터가 업데이트되면 적절한 시간에 배치로 해당 작업자 노드를 업데이트할 수 있습니다.

11.1. Canary 업데이트 전략의 예

다음 예에서는 초과 용량이 10%인 클러스터가 있고 4시간을 초과해서는 안 되는 유지 관리 기간이 있으며 작업자 노드를 드레이닝하고 재부팅하는 데 8분 이상 걸리는 카나리아 업데이트 전략을 설명합니다.

참고

이전 값은 예제일 뿐입니다. 노드를 드레이닝하는 데 걸리는 시간은 워크로드와 같은 요인에 따라 다를 수 있습니다.

사용자 정의 머신 구성 풀 정의

작업자 노드 업데이트를 별도의 단계로 구성하기 위해 다음 MCP를 정의하여 시작할 수 있습니다.

  • workerpool-canary 10 nodes
  • 30개의 노드가 있는 workerpool-A
  • 30개의 노드가 있는 workerpool-B
  • 30개의 노드가 있는 workerpool-C

카나리아 작업자 풀 업데이트

첫 번째 유지 관리 기간 동안 workerpool-A,workerpool-B, workerpool-C 에 대한 MCP를 일시 중지한 다음 클러스터 업데이트를 시작합니다. 이렇게 하면 OpenShift Container Platform에서 실행되는 구성 요소와 일시 중지되지 않은 workerpool-canary MCP의 일부인 10개의 노드가 업데이트되었습니다. 나머지 3개의 MCP는 일시 중지되었으므로 업데이트되지 않습니다.

나머지 작업자 풀 업데이트를 진행할지 여부 확인

어떤 이유로 workerpool-canary 업데이트의 클러스터 또는 워크로드 상태가 부정적인 영향을 미치는 경우 문제를 진단하고 해결할 때까지 해당 풀의 모든 노드를 차단하고 드레이닝하고 드레이닝합니다. 모든 것이 예상대로 작동하면 일시 중지를 해제하기 전에 클러스터 및 워크로드 상태를 평가하여 각 추가 유지 관리 기간 동안 연속으로 workerpool-A,workerpool-Bworkerpool-C 를 업데이트합니다.

사용자 지정 MCP를 사용하여 작업자 노드 업데이트를 관리하면 유연성을 제공하지만 여러 명령을 실행해야 하는 시간이 많이 걸리는 프로세스일 수 있습니다. 이러한 복잡성으로 인해 전체 클러스터에 영향을 줄 수 있는 오류가 발생할 수 있습니다. 시작하기 전에 조직의 요구 사항을 신중하게 고려하고 프로세스 구현을 신중하게 계획하는 것이 좋습니다.

중요

머신 구성 풀을 일시 중지하면 Machine Config Operator가 연결된 노드에 구성 변경 사항을 적용할 수 없습니다. 또한 MCP를 일시 중지하면 kube-apiserver-to-kubelet-signer CA 인증서의 자동 CA 순환을 포함하여 자동으로 순환된 인증서가 관련 노드로 푸시되지 않습니다.

kube-apiserver-to-kubelet-signer CA 인증서가 만료되고 MCO가 인증서를 자동으로 갱신하려고 할 때 MCP가 일시 중지되면 MCO는 새로 순환된 인증서를 해당 노드로 푸시할 수 없습니다. 이로 인해 oc debug, oc logs,oc exec, oc attach 를 포함하여 여러 oc 명령에서 오류가 발생합니다. 인증서가 순환될 때 MCP가 일시 중지되면 OpenShift Container Platform 웹 콘솔의 경고 UI에 경고가 표시됩니다.

MCP 일시 중지는 kube-apiserver-to-kubelet-signer CA 인증서 만료에 대해 신중하게 고려하여 단기간 동안만 수행해야 합니다.

참고

MCP를 다른 OpenShift Container Platform 버전으로 업데이트하지 않는 것이 좋습니다. 예를 들어 한 MCP를 4.y.10에서 4.y.11로 다른 MCP를 4.y.12로 업데이트하지 마십시오. 이 시나리오는 테스트되지 않아 정의되지 않은 클러스터 상태가 될 수 있습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.