이 절차에서는 복제본 세트를 Kubernetes 로 마이그레이션과 동일한 라이브 증분 확장-승격-정리 워크플로를 사용하여 Ops Manager 또는 Cloud Manager 관리하는 샤딩된 클러스터 Kubernetes Operator 아래의 Kubernetes 로 마이그레이션합니다. 해당 절차에 따라 이 페이지에 설명된 차이점을 적용합니다. 이 페이지에 단계가 언급되지 않은 경우 복제본 세트 절차와 동일하게 작동합니다.
중요
내장된 config 서버 가 있는 샤드 클러스터는 지원되지 않습니다. Kubernetes Operator는 이 토폴로지 감지하고 가져오기를 거부합니다.
외부 멤버가 모든 구성 요소를 다룹니다.
샤딩된 클러스터 의 경우, spec.externalMembers는 config 서버 mongod, 각 샤드의 mongod및 mongos 라우터와 같은 모든 프로세스 포함하는 단일 플랫 목록입니다. 모든 항목은 spec.externalMembers[].type를 설정하고, 모든 mongod 항목도 spec.externalMembers[].replicaSetName를 설정하여 프로세스 config 서버 복제본 세트 에 속하는지 특정 샤드의 복제본 세트 에 속하는지 식별합니다. 전체 필드 참조는 MongoDB 마이그레이션 리소스 설정을 참조하세요.
이름 재정의로 자동화 구성 이름 보존
kubectl mongodb migrate-to-mck 플러그인은 spec.configServerNameOverride 및 spec.shardNameOverrides를 설정하여 Kubernetes Operator가 새 config 서버 및 샤드 복제본 세트를 생성하는 대신 확장하도록 합니다. 이 플러그인은 또한 Kubernetes 사이드 멤버 수를 0로 설정합니다.
균일하게 또는 샤드별로 확장
두 가지 방법으로 샤딩된 클러스터 Kubernetes 로 확장할 수 있습니다.
구성 요소당
spec.mongodsPerShardCount,spec.configServerCount및spec.mongosCount를균일하게 증가시킵니다. 모든 샤드 동일한 수의 Kubernetes 멤버를 수신하는 경우 이를 사용합니다.참고
spec.shardOverrides[].memberConfig항목의 최상위 수준에 있는 항목은 무시됩니다. 중첩된spec.shardOverrides[].clusterSpecList[].memberConfig이 적용됩니다.spec.shardOverrides(샤드별 구성)와spec.shardNameOverrides(자동화 구성 복제본 세트 이름 지정)을 혼동하지 마세요. 두 설정은 관련이 없습니다.
복제본 세트 절차와 마찬가지로, 개수를 늘리기 전에 관련 구성 요소의 모든 새 Kubernetes 멤버에 대해 memberConfig를 직접 작성합니다.
경고
멤버 수를 늘리기 전에 spec.memberConfig를 설정하세요.
기본값 으로 새 Kubernetes 멤버는 투표 멤버로 참여합니다. CRD 기본값은 votes: 1 및 priority: "1"이며, 이를 통해 여전히 동기화 중인 멤버가 초기 동기화 완료하기 전에 투표 에 참여할 수 있습니다.
MongoDB 아직 동기화 중인 멤버가 투표 에서 승리할 수 없도록 멤버 수를 늘리기 전에 votes: 0 및 priority: "0"를 사용하여 새 Kubernetes 멤버당 하나의 spec.memberConfig 항목을 쓰기 (write) 것을 권장합니다. votes는 정수입니다. priority는 문자열입니다.
구성 요소당 TLS 인증서
config 서버 의 경우 <name>-config-* , 각 샤드 의 경우 <name>-<i>-* , mongos 라우터의 경우 <name>-mongos-* 에 각각 명명 패턴 사용하여 구성 요소당 하나의 인증서를 발급합니다.
한 번에 하나의 구성 요소 확장 및 정리
config 서버, 샤드 또는 mongos 라우터를 확장하거나 정리하는 데 필요한 순서는 없습니다. 한 번에 하나의 구성 요소를 정확히 확장하거나 정리하고 다음 구성 요소나 다음 항목으로 이동하기 전에 목표 상태 를 기다립니다.
상태 조건 및 확인
상태 조건 및 이유는 복제본 세트 와 동일하게 작동하며, 모든 구성 요소의 재정의 인식 멤버 합계에서 계산됩니다. kubectl wait --for=condition=Migrating=False은 (샤딩된 클러스터 마이그레이션 에 유효합니다.
샤드 멤버가 아닌 mongos 파드를 통해 마이그레이션 확인합니다.