AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.

Kubernetes로의 마이그레이션 작동 방식

Kubernetes Operator는 MongoDB Ops Manager 또는 Cloud Manager가 가상 머신이나 베어 메탈에서 managed하는 배포서버를 Kubernetes로 마이그레이션할 수 있습니다. 마이그레이션은 실시간으로 점진적으로 수행됩니다. 배포서버는 프로세스 전반에 걸쳐 읽기 및 쓰기 (write)를 계속 제공합니다. 일반적인 MongoDB 복제를 사용하여 가상 머신에서 Kubernetes로 한 번에 하나씩 노드를 이동합니다.

마이그레이션은 데이터 복사 도구가 아닌 표준 MongoDB 복제를 기반으로 합니다. 이 과정은 세 단계로 진행됩니다.

  • 확장. 기존 복제본 세트에 Kubernetes 노드를 추가합니다. Kubernetes 연산자는 새 노드를 투표권이 없는 노드로 만들어 냅니다. 그리고 이 노드들은 기존 노드에서 초기 동기화를 수행합니다.

  • 승격. 가상 머신 노드에서 Kubernetes 노드로 투표권과 우선 순위를 이전합니다. 외부 노드는 제거하기 전까지 소스 자동화 구성에 이미 가지고 있는 투표권과 우선 순위를 유지합니다.

  • 정리하다. 가상 노드를 하나씩 제거하고, 복제본 세트가 각 제거 사이에서 목표 상태에 도달할 때까지 기다립니다.

마이그레이션은 Kubernetes 연산자가 노드의 100%를 관리하고, spec.externalMembers이(가) 비어 있으며, 모든 데이터가 Kubernetes 영구 볼륨 클레임에 저장되면 완료됩니다. 그 시점에서, 가상 머신에 노드가 남아 있지 않습니다.

마이그레이션 워크플로는 스냅샷을 복원하지 않으며 mongosync 또는 다른 Cluster-to-Cluster Sync 도구를 사용하지 않습니다. Cluster-to-Cluster Sync 도구는 전환 시 다운타임을 부과하고, time series 컬렉션들에 대한 지원이 부족하며, 일반적으로 안전하게 실행하려면 현장 지원이 필요합니다. 복제 기반 마이그레이션은 이러한 제한을 피합니다. 배포서버는 계속 가용 상태를 유지하며, 마이그레이션은 배포서버의 나머지 부분과 동일한 컬렉션 유형을 지원하고, kubectl mongodb 플러그인을 사용하여 직접 프로세스를 진행할 수 있습니다.

마이그레이션 동안 읽기 작업은 계속 접근 가능합니다. 투표 중에 쓰기(write)가 일시적으로 실패할 수 있으므로 드라이버는 재시도 가능 쓰기를 사용해야 합니다. 읽기 대상이 이동하면 읽기 지연 시간이 증가할 수 있습니다. 따라서 가상 마신과 동일한 리전에서 Kubernetes 클러스터를 실행합니다. 마이그레이션된 세컨더리에 대한 장기 실행 커서는 정지 모드가 없기 때문에 중단됩니다.

마이그레이션이 진행되는 동안 배포서버는 가상 머신과 Kubernetes에 분할된 노드와 함께 하이브리드 상태로 실행됩니다. Kubernetes Operator는 활성 마이그레이션 중에만 이 하이브리드 상태를 일시적인 조건으로 지원합니다. 마이그레이션 기간 동안 두 환경 간에 영구적인 양방향 네트워크 연결이 필요합니다. Kubernetes Operator는 분할 환경 배포서버를 무기한 실행하는 것을 지원하지 않습니다.

Kubernetes Operator는 다음을 수행하지 않습니다.

  • 가상 머신을 해제합니다. 마이그레이션이 완료된 후에 직접 폐기합니다.

  • 마이그레이션을 롤백합니다. 마이그레이션이 시작되면 이를 되돌릴 수 있는 자동화된 방법은 없습니다.

  • 데이터를 시드하거나 미리 복사합니다. 모든 데이터 이동은 MongoDB 복제를 통해 이루어집니다.

  • Ops Manager 또는 Cloud Manager 자체를 마이그레이션합니다. MongoDB 배포서버만 Kubernetes로 이동합니다.