Ops Manager 또는 Cloud Manager가 가상 머신에서 managed하는 배포서버를 Kubernetes 연산자 하의 Kubernetes로 마이그레이션하려면 가상 머신 호스팅하다와 Kubernetes Pod 간의 양방향 네트워크 연결이 필요합니다. Kubernetes Operator가 아닌 사용자가 이 연결을 프로비저닝합니다.
이러한 연결성은 네트워크 토폴로지, 방화벽 규칙, DNS 구성 및 클라우드 공급자를 포함한 사용자의 네트워킹 설정에 완전히 의존합니다. 이로 인해, 구체적인 범용 지침은 불가능합니다. 이 페이지의 나머지 부분에서는 Kubernetes 연산자가 자동으로 확인하는 사항, 확인하지 않는 사항, 그리고 가상 마신에 Kubernetes Pod를 노출하는 데 사용하는 구성에 대해 설명합니다.
Dry Run이 검증하는 것
드라이 실행 연결 유효성 검사기 작업은 Kubernetes 환경 에서 가상 노드에 연결 가능한지 확인합니다. 이것은 가상 마신에서 Kubernetes로의 역방향을 검사하지 않습니다. 방향은 이 페이지 하단에 있는 설정에 따른 체크리스트를 사용하여 직접 확인해야 합니다.
외부 액세스 구성
가상 노드가 Kubernetes 팟에 액세스하도록 하려면, spec.externalAccess를 사용합니다. 이것은 Kubernetes 연산자가 마이그레이션 외부에서 사용하는 동일한 외부 액세스 메커니즘입니다. 이는 각 Pod에 대해 LoadBalancer 또는 NodePort를 만들어 Kubernetes 클러스터 외부에 Pod를 노출합니다.
선택적으로 spec.externalAccess.externalDomain를 가상 머신 노드가 확인할 수 있는 호스트 이름으로 설정합니다. 이 호스트 이름에 대한 DNS 설정은 사용자가 직접 관리해야 합니다. Kubernetes Operator는 사용자를 위해 DNS 기록을 생성하거나 관리하지 않습니다.
중요
이 배포서버에서 MongoDB Search 또는 벡터 검색을 사용하는 경우 externalDomain을(를) 설정하지 마십시오. MongoDBSearch은 externalDomain을 설정하는 MongoDB 리소스를 지원하지 않습니다. 대신 spec.externalAccess를 단독으로 사용하세요. 자세한 내용은 MongoDB Search와 마이그레이션의 상호 작용을 참조하세요.
경고
클러스터를 생성한 후에는 externalDomain을 제거할 수 없습니다. 이 필드를 설정하기 전에 호스트 이름과 DNS 전략을 확인합니다.
Kubernetes 노드 호스트 이름은 <metadata.name>-0.<spec.externalAccess.externalDomain> 패턴을 따르며, 여기서 숫자 인덱스는 추가 노드마다 1씩 증가합니다.
검증 체크리스트
단일 명령만으로는 양방향 연결이 올바르게 구성되었는지 보장할 수 없습니다. 이 체크리스트를 사용하여 설정을 검토하고 각 항목을 자신의 네트워크에 맞게 조정하세요.
가상 노드에서 Kubernetes 노드의 호스트 이름을 해결할 수 있는지 확인하세요.
가상 머신에서 Kubernetes 노드 또는 LoadBalancer IP 주소에 연결할 수 있는지 확인합니다.
샤딩된 클러스터
샤딩된 클러스터의 경우 구성 요소별로 외부 액세스를 구성합니다.
spec.externalAccess은(는)mongos만 구성합니다.spec.mongos.externalAccessmongos의 루트 레벨 필드를 대체합니다.spec.shard.externalAccess그리고spec.configSrv.externalAccess각각은 샤드와 config 서버 복제본 세트의 모든 Pod를 노출하도록 설정되어야 합니다.
연결 문자열 시크릿
Kubernetes Operator는 <metadata.name>-cluster-connection-string이라는 이름의 연결 문자열 Secret을(를) 자동으로 생성합니다. 이 Secret 에는 자격 증명이 포함되어 있지 않으며, Kubernetes Operator는 마이그레이션 중에 멤버십이 변경될 때 활성 노드와 동기화 상태를 유지합니다.
애플리케이션이 하드코딩된 연결 문자열 대신 이 Secret을 사용하도록 합니다. 이렇게 하면 마이그레이션 중 회원 변경이 사용자의 애플리케이션에 대한 강제 전환을 필요로 하지 않습니다.
주문 중
Kubernetes로 배포서버를 확장하기 전에 외부 액세스 및 externalDomain을 구성합니다. Kubernetes 연산자는 마이그레이션이 이미 진행 중인 후에 이 설정을 추가하는 것을 지원하지 않습니다.