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

드라이 실행(Dry Run)으로 마이그레이션 준비 상태 확인

kubectl mongodb 플러그인은 배포서버를 Kubernetes로 마이그레이션하기 위해 생성하는 리소스에 항상 mongodb.com/migration-dry-run: true 주석을 추가합니다. 해당 주석이 있는 동안 Kubernetes 연산자는 자동화 구성 변경을 수행하지 않습니다. 연결 및 자격 증명만 확인하므로 Kubernetes Operator가 배포서버의 소유권을 갖기 전에 문제를 해결하고 필요한 만큼 여러 번 다시 실행할 수 있습니다.

  • Kubernetes 연산자는 MongoDB 리소스당 <resourceName>-connectivity-check이라는 이름의 작업을 하나 생성합니다. 작업은 모든 외부 노드에 연결하여 인증합니다. ttlSecondsAfterFinished를 사용하여 자체 삭제됩니다. 그리고 다음 reconcile에서 다시 만듭니다. 따라서 수정 후 재유효성 검사가 자동으로 수행됩니다. 수동으로 trigger할 필요가 없습니다.

  • 드라이 런은 Kubernetes에서 가상 노드로의 연결 가능성(DNS, TLS, 방화벽 및 노드 주소) 및 local 데이터베이스에서의 __system 역할을 포함한 자격 증명, 및 TLS가 활성화된 경우의 CA를 확인합니다.

  • 드라이 런은 가상 머신에서 Kubernetes로의 인바운드 연결을 확인하지 않습니다. MongoDB Ops Manager UI 모니터링 상태를 통해 배포서버의 방향을 직접 확인하거나 가상 머신 노드에서 rs.status()을(를) 실행하여 Kubernetes Pod에 연결할 수 있는지 확인하세요.

  • 플러그인 및 Kubernetes 연산자 버전 확인은 드라이 런 주석이 있는지 여부와 관계없이 실행됩니다.

  • mongodb.com/migration-dry-run: true 주석이 여전히 존재하는 생성된 MongoDB 사용자 지정 리소스입니다. 이 리소스를 생성하는 방법을 알아보려면 복제본 세트를 Kubernetes로 마이그레이션을 참조하세요.

  • 배포서버가 TLS를 사용하는 경우, Kubernetes로의 마이그레이션을 위한 TLS 구성에 설명된 노드 인증서 및 CA 자료가 필요합니다.

  • Kubernetes 연산자 ServiceAccount 에게는 batch/jobs 권한(create, get, list, watch 및 delete)이 있습니다. 이 권한이 없으면 Kubernetes 연산자는 연결 유효성 검사기 작업을 전혀 생성할 수 없습니다.

1

dry-run 주석이 여전히 설정된 상태에서 MongoDB 사용자 지정 리소스를 적용합니다. Kubernetes Operator는 <resourceName>-connectivity-check 작업을 생성하고 status.phase 및 NetworkConnectivityVerified 조건을 통해 진행 상황을 보고합니다.

작업이 실행되는 동안 status.phase은 ConnectivityCheckRunning를 읽습니다.

2

status.conditions[type=NetworkConnectivityVerified]를 읽습니다:

검증기 작업 종료 코드
조건 상태
이유
의미

작업이 여전히 실행 중입니다.

Unknown

Running

status.phase은 ConnectivityCheckRunning입니다.

0

True

NetworkValidationPassed

모든 외부 노드는 접근할 수 있고 인증됩니다.

2

False

AuthenticationFailed

자격 증명, 인증 메커니즘 또는 누락된 __system@local 역할입니다.

3

False

NetworkFailed

DNS, TLS, 시간 초과 또는 연결할 수 없는 노드. 작업 Pod 로그를 확인하세요.

1 또는 기타

False

UnknownError

미분류 실패. 작업 Pod 로그를 확인하세요.

작업 시작 전에 발생하는 오류는 OperatorImageUnknown, BuildStatefulSetOptions, AgentCertSecretFailed, AgentCertSubject 이유로 인해 발생합니다.

Kubernetes 연산자는 외부 노드가 남지 않으면 status.conditions에서 NetworkConnectivityVerified 조건을 완전히 제거합니다.

3

필요에 따라 Kubernetes 또는 MongoDB Ops Manager UI에서 연결 또는 자격 증명 문제를 해결합니다. 삭제하거나 다시 적용할 필요가 없습니다. 다음 조정 시 유효성 검사기 작업이 자동으로 다시 생성됩니다.

드라이 실행이 멈추것처럼 보이면 <resourceName>-connectivity-check 작업을 삭제. 다음 재조정 작업이 다시 만들어 냅니다.

Kubernetes 연산자 ServiceAccount에서 batch/jobs RBAC 권한이 누락되면 처음부터 작업이 생성되지 않으므로 이 경우 어떤 조건이나 작업도 나타나지 않습니다. 작업이 시작되기 전에 발생하는 오류는 위 표의 종료 코드 이유 대신에 OperatorImageUnknown, BuildStatefulSetOptions, AgentCertSecretFailed 또는 AgentCertSubject 이유로 표시됩니다.

4

NetworkConnectivityVerified 조건이 NetworkValidationPassed 이유로 True 상태가 되면 주석을 제거합니다.

kubectl annotate mdb <resourceName> \ mongodb.com/migration-dry-run-

중요

dry-run 주석을 제거하는 시점이 Kubernetes Operator가 MongoDB Ops Manager 또는 Cloud Manager 프로젝트에 대한 소유권을 갖는 시점입니다. 방금 검증한 연결 및 자격 증명 상태에 대한 반환 지점으로 간주하십시오.