Red Hat OpenShift on IBM Cloud에 대한 고가용성 및 재해 복구 이해

고가용성서비스 또는 작업 부하가 장애를 견디고 사전 정의된 서비스 수준에 따라 처리 기능을 계속 제공할 수 있는 능력. (HA)은 예기치 않은 장애가 발생하더라도 서비스가 계속 작동하고 액세스할 수 있는 기능입니다. 재해 복구는서비스 중단과 같은 드물지만 심각한 사고와 광범위한 장애로부터 복구할 수 있는 서비스 또는 작업량 능력. 여기에는 전체 지역에 영향을 미치는 물리적 재해, 데이터베이스 손상, 또는 작업 부하에 기여하는 서비스의 손실이 포함됩니다. 그 영향은 고가용성 설계가 처리할 수 있는 능력을 초과합니다. 서비스 인스턴스를 작동 상태로 복구하는 프로세스입니다.

Red Hat OpenShift on IBM Cloud 는 지역 또는 구역 정전 시 가용성을 위해 설계된 고가용성 지역 또는 구역 서비스입니다. Red Hat OpenShift on IBM Cloud 는 표준 요금제로 서비스 수준 목표(SLO)를 충족하도록 설계되었습니다.

이용 가능한 지역과 데이터 센터 위치에 대한 자세한 정보는 위치별 서비스 및 인프라 가용성을 참조하십시오.

고가용성 아키텍처

Red Hat OpenShift on IBM Cloud 아키텍처는 지역, 구역, 클러스터 수준에서 높은 가용성을 제공합니다.

사용 가능한 지역
모든 지역은 지역별 API 엔드포인트에서 액세스할 수 있는 고가용성 로드 밸런서로 설정됩니다. 로드 밸런서는 수신 및 발신 요청을 지역의 구역에 있는 클러스터로 라우팅합니다. 전체 지역 실패의 가능성은 낮습니다. 그러나 이 실패에 대해 설명하려는 경우 여러 지역에 다중 클러스터를 설정하고 외부 로드 밸런서를 사용하여 이를 연결할 수 있습니다. 전체 리전에 장애가 발생하면 다른 리전에 있는 클러스터가 워크로드를 이어받을 수 있습니다.
클러스터 및 존 가용성
구역 실패는 모든 실제 컴퓨팅 호스트 및 NFS 스토리지에 영향을 줍니다. 실패에는 전원, 냉각, 네트워킹 또는 가동 중단 및 자연 재해(예: 홍수, 지진 및 허리케인)가 포함됩니다. 구역 실패로부터 보호하려면 외부 로드 밸런서에 의해 로드 밸런싱된 2개의 서로 다른 구역에서 클러스터를 보유해야 합니다. 다중 영역 위치에서 클러스터를 만들어 마스터를 여러 영역에 분산시킵니다. 또는 다른 구역에 두 번째 클러스터를 설정하는 것을 고려해 보십시오.
다중 구역 사용 가능 여부
멀티존 클러스터는 여러 작업자 노드와 존에 걸쳐 작업량을 분산함으로써 존 장애에 대한 추가적인 보호 기능을 제공합니다. 작업자 노드는 여러 구역에 걸쳐 세 개의 복제본과 함께 자동으로 배치됩니다. 전체 구역에서 중단이 발생하면, 작업 부하가 다른 구역의 작업자 노드로 배정되어 중단으로부터 앱을 보호합니다.
글로벌 로드 밸런싱
마스터 장애로부터 앱을 보호하거나 지원되는 다중 영역 중 하나에 있어야 하는 클래식 클러스터의 경우, 지역 내 여러 영역에 여러 클러스터를 생성하고 글로벌 로드 밸런서와 연결할 수 있습니다.

고가용성을 위한 자원 분배.

다중 작업자 노드, 구역 및 클러스터 간에 앱을 분배하면 사용자에게 작동 중지 시간이 발생할 가능성이 낮아질 수 있습니다. 로드 밸런싱 및 격리 등의 기본 제공 기능을 사용하면 호스트, 네트워크 또는 앱에서 잠재적 장애가 발생할 때 복원성이 높아집니다. 가용도의 증가 순으로 정렬된 다음의 잠재적 클러스터 설정을 검토하십시오. IBM Cloud 의 자원이 지리적 구역과 지역에 어떻게 분배되는지에 대한 자세한 정보는 위치 문서를 참고하시기 바랍니다.

클러스터의 고가용성
클러스터의 고가용성

단일 구역 클러스터
클래식 전용
단일 영역 클러스터에는 동일한 영역 내의 개별 물리적 호스트에 분산된 작업자 노드가 있습니다. 이 옵션은 마스터 업데이트와 같은 특정 중단 사태를 방지하고 관리가 더 간단합니다. 그러나 전체 구역에서 중단이 발생하면 앱을 보호하지 못합니다.
다중 구역 클러스터
클래식 VPC
다중 영역 클러스터는 여러 영역에 걸쳐 세 개의 복제본이 자동으로 배포된 작업자 노드를 포함합니다. 전체 구역에서 중단이 발생하면, 작업 부하가 다른 구역의 작업자 노드로 배정되어 중단으로부터 앱을 보호합니다.
로드 밸런서와 연결된 여러 클러스터
클래식 VPC
동일한 영역 또는 다른 영역에 여러 클러스터를 설정하고 글로벌 로드 밸런서를 통해 연결할 수 있습니다. 이 옵션은 단일 존 지역에 클러스터를 프로비저닝해야 하지만, 다중 존 가용성의 이점을 누리고 싶은 경우에 유용합니다.

높은 가용성 기능

앱과 서비스의 가용성을 높이기 위해 사용할 수 있는 기능을 검토하십시오.

다음용 HA 기능 Red Hat OpenShift on IBM Cloud
기능 설명
반친화성 옵션 특정 노드에 배포를 제한하는 대신 반친화성 규칙을 사용하여 작업자 노드에 포드 배포를 분산합니다. 이 기능은 작업량에 대한 추가적인 유연성을 제공합니다.
복제본 세트 앱의 가용성을 높이기 위해 배치에 복제본 세트를 지정할 수 있습니다. 하나의 앱 인스턴스가 작동 중지 상태가 되면 Kubernetes는 자동으로 앱의 새 인스턴스를 스핀업하여 지정된 앱 인스턴스 수를 유지합니다.
다중 구역 부하 분산(클래식) 멀티존 클래식 클러스터를 생성하면, 클러스터가 상주하는 각 구역에 멀티존 로드 밸런서가 자동으로 생성되어 앱에 들어오는 모든 요청을 처리하고 클러스터 구역의 애플리케이션 로드 밸런서(ALB) 간에 로드 밸런싱 요청을 처리합니다. 또한 공용 Ingress IP 주소에 대한 상태를 확인할 수 있습니다.
VPC 로드 밸런싱(VPC) VPC 클러스터를 생성하면, 앱으로 들어오는 모든 요청을 처리하고 클러스터 영역의 애플리케이션 로드 밸런서(ALB) 간에 로드 밸런싱 요청을 처리할 수 있도록 VPC 로드 밸런서가 자동으로 생성됩니다. 또한 공용 Ingress IP 주소에 대한 상태를 확인할 수 있습니다.
클러스터 오토스케일러 클러스터 자동 스케일러 애드온은 예약된 워크로드의 크기 조정 요구에 따라 클러스터의 워커 풀을 자동으로 스케일링하여 워커 풀의 워커 노드 수를 늘리거나 줄입니다.

재해 복구 기능

재해 복구를 위한 일반적인 전략은 Portworx 와 같은 솔루션을 사용하여 데이터의 저장 및 백업을 구성하는 것입니다.

Red Hat OpenShift on IBM Cloud 는 다음과 같은 재해 복구 기능을 지원합니다:

다음을 위한 DR 기능 Red Hat OpenShift on IBM Cloud
기능 설명
Portworx 컨테이너화된 데이터베이스 및 기타 스테이트풀 앱의 로컬 영구 저장소를 관리하거나 여러 영역에서 포드 간에 데이터를 공유하는 데 사용할 수 있는 고가용성의 타사 소프트웨어 정의 스토리지 솔루션입니다. 필수 조건 검토
OpenShift 데이터 재단(ODF)지역 재해 복구 지역 재해 발생 시 자동화된 '원클릭' 복구를 제공하는 재해 복구 솔루션입니다. 애플리케이션은 다른 지역에서 사용 가능한 ODF 클러스터가 있는 지정된 재해 복구 센터( OpenShift Container Platform )로 자동 재배치됩니다.
Cloud Object Storage(COS) 플러그인 형태로 제공되는 앱에 탑재되는 지속적이고 가용성이 높은 저장 옵션입니다. 제한 사항을 검토하십시오.
자동 복구 자동 복구 시스템은 다양한 검사를 통해 작업자 노드 상태를 조회합니다. 자동 복구는 구성된 검사에 따라 비정상적인 작업자 노드를 발견하는 경우 클래식 작업자 노드에서 VPC 작업자 노드를 다시 부팅하거나 운영 체제를 다시 로드하는 작업과 같은 정정 조치를 트리거합니다.
Velero를 통한 데이터 이동성 클러스터에서 IBM COS 인스턴스 또는 다른 s3 제공업체로 데이터를 내보내기 위한 타사 옵션입니다.
kubectl 의 CLI를 이용한 데이터 이동성 kubectl CLI를 사용하여 데이터를 내보냅니다.

rclone 또는 OADP 과 같은 데이터 내보내기를 위한 추가 옵션을 검토합니다.

복구 시간 목표(RTO)와 복구 지점 목표(RPO)

다음을 위한 RTO/RPO 기능 Red Hat OpenShift on IBM Cloud
기능 RTO와 RPO 고려사항
Portworx RTO = 목표 달성률( <60s ), RPO = 목표 달성 주기( <60s )- 15m 비동기 또는 동기(Metro DR이라고도 함) 구성에 따라 값이 다릅니다. 자세한 정보는 Portworx를 사용하여 재해 복구 설정을 참조하십시오.
ODF 지역 재해 복구 RTO = 0, RPO = 0 이 값은 클러스터 수준에만 적용됩니다. 지역 및 대도시 DR은 현재 이용하실 수 없습니다.
Cloud Object Storage 객체 저장소 문서를 참조하십시오.

IBM® 가 재해 복구를 어떻게 지원하는가

IBM® 재해 발생 시 특정 복구 조치( Red Hat OpenShift on IBM Cloud )를 취합니다.

IBM 가 실패에서 어떻게 회복하는가

영역 또는 지역 장애가 발생한 경우 IBM 에서 구성 요소 복구를 담당합니다. IBM 내부 영구 저장소의 마지막 상태를 기반으로 동일한 지역의 클러스터를 복원하려고 시도합니다. IBM ingress 애플리케이션 로드 밸런서 및 파일 스토리지 플러그인과 같은 클러스터 내의 운영 구성 요소를 업데이트하고 복구합니다.

IBM 는 데이터를 백업하고 복원할 수 있도록 스토리지 제공업체와 같은 다른 IBM Cloud 서비스와 통합하는 기능도 제공합니다. 이러한 통합을 실행하는 것은 사용자의 책임입니다.

IBM 가 서비스를 유지하는 방법

모든 업그레이드는 복구 계획과 롤백 과정을 포함한 IBM 서비스의 모범 사례를 따릅니다. 정기적인 유지보수는 짧은 중단 시간을 유발할 수 있지만, 클라이언트 가용성 재시도 로직 으로 완화할 수 있습니다. 변경 사항은 지역별로, 지역 내의 구역별로 순차적으로 적용됩니다. IBM 는 결함이 발견되는 즉시 업데이트를 되돌립니다.

복잡한 변경 사항은 노출을 제어하는 기능 플래그를 통해 활성화 및 비활성화됩니다.

고객의 업무량에 영향을 미치는 변경 사항은 IBM Cloud 알림에 자세히 설명되어 있습니다. 이 서비스에 영향을 미치는 계획된 유지보수, 공지사항, 릴리스 노트에 대한 자세한 정보는 모니터링 알림 및 상태를 참조하십시오.

고가용성 및 재해 복구에 대한 사용자의 책임

HA와 DR에 대한 계획을 지속적으로 테스트하는 것은 여러분의 책임입니다.

네트워크 연결이 중단되거나 서비스가 잠시 중단될 수 있습니다. 애플리케이션의 고가용성을 유지하기 위해 애플리케이션 소스 코드에 클라이언트 가용성 재시도 로직이 포함되어 있는지 확인하는 것은 사용자의 책임입니다.

사용자는 앱과 서비스에 적합한 수준의 가용성을 달성할 수 있도록 클러스터를 구성할 책임이 있습니다. 클러스터에 대해 설정하는 가용성 레벨은 IBM Cloud HA SLA(Service Level Agreement) 이용 약관에 따른 적용 범위에 영향을 줍니다. 예를 들어, SLA 이용 약관에 따라 전체 HA 적용을 받으려면 최소 총 여섯 개의 작업자 노드, 즉 세 개의 구역에 고르게 분산된 구역당 두 개의 작업자 노드로 다중 구역 클러스터를 설정해야 합니다.

사용자는 클러스터에서 실행되는 워크로드와 애플리케이션 데이터의 복구에 대한 책임이 있습니다. 재해 복구에 대한 회원님의 책임에 대한 자세한 내용은 Red Hat OpenShift on IBM Cloud 사용 시 회원님의 책임 을 참조하세요.

변경 관리

변경 관리에는 업그레이드, 구성 변경 및 삭제와 같은 작업이 포함됩니다. 작업의 중단 시간이나 데이터 손실을 줄이기 위해 다음 사항을 염두에 두십시오.

  • 사용자와 프로세스에 IAM 역할과 권한을 부여할 때는 업무 수행에 필요한 최소한의 권한만 부여하는 것이 좋습니다. 예를 들어, 생산 자원을 삭제하는 기능을 제한합니다.

  • API, CLI 또는 콘솔 도구를 사용하여 운영 체제 패치가 포함된 제공된 워커 노드 업데이트를 적용하거나 워커 노드를 재부팅, 다시 로드 또는 교체하도록 요청할 수 있습니다.

  • API, CLI 또는 콘솔 도구를 사용하여 제공된 메이저 및 마이너 Kubernetes 마스터 업데이트와 메이저, 마이너 및 패치 워커 노드 업데이트를 적용합니다. 문제나 다운타임을 방지하기 위해 각 버전 업데이트에 대한 정보와 요구 사항을 검토해야 합니다.

  • 클러스터 워커 노드가 최신 버전으로 실행되는지 확인하세요 Ubuntu 버전이 실행되는지 확인하세요.

  • 클러스터에서 실행하는 모든 애드온의 출시 일정을 확인하십시오.

앱과 서비스 배포를 위한 고려 사항

클러스터를 구성하는 방식은 앱과 서비스의 가용성 수준에 영향을 미칩니다. 다중 작업자 노드 및 클러스터에 보다 광범위하게 설정을 분배할수록 사용자가 앱에서 작동 중단을 겪을 가능성이 보다 줄어듭니다.

가용성의 정도가 증가하는 순서로 정렬된 다음의 잠재적 앱 설정을 검토하십시오.

앱의 고가용성 단계
앱의 고가용성 단계

  1. 단일 노드에 설정된 복제본으로 관리되는 n+2 파드를 사용한 배포입니다.
  2. 복제본 세트에 의해 관리되며 단일 구역 클러스터의 다중 노드 간에 전개된(반친화성) n+2 팟(Pod)의 배치.
  3. 복제본 세트에 의해 관리되며 구역 간의 다중 구역 클러스터의 다중 노드 간에 전개된(반친화성) n+2 팟(Pod)의 배치.

고가용성 워크로드를 만드는 방법에 대한 자세한 내용은 다음 문서를 참조하세요.