문서 메뉴
문서 홈
/
MongoDB Enterprise Kubernetes 연산자
/ /

사용자 지정 리소스 조정 MongoDBOpsManager

다음 다이어그램은 Kubernetes Operator가 MongoDBOpsManager CustomResourceDefinition 에 대한 변경 사항을 조정하는 방법을 설명합니다. 각 멤버 Kubernetes 클러스터에서.

MongoDB Enterprise Kubernetes Operator가 각 멤버 Kubernetes 클러스터에서 MongoDBOpsManager 사용자 지정 리소스 정의에 대한 변경 사항을 조정하는 방법을 설명하는 다이어그램입니다.
클릭하여 확대
  1. Kubernetes 연산자가 <om_resource_name>-db-config 시크릿을 만들거나 업데이트합니다. 이 비밀에는 MongoDB Agent가 애플리케이션 데이터베이스 복제본 세트를 시작하는 데 사용하는 구성이 포함되어 있습니다.

  2. Kubernetes Operator가 <om_resource_name>-db 애플리케이션 데이터베이스 StatefulSet를 생성하거나 업데이트합니다. 이 StatefulSet에는 최소 3개의 파드 가 포함되어 있습니다. .

    • 각 Pod는 하나의 MongoDB Agent 인스턴스를 실행합니다. 각 MongoDB Agent는 해당 파드에서 mongod 인스턴스를 시작합니다.

    • Kubernetes 연산자는 각 Pod에 <om_resource_name>-db-config 시크릿을 마운트합니다. MongoDB Agent는 이 시크릿을 사용하여 애플리케이션 데이터베이스 복제본 세트를 구성합니다.

      멀티 클러스터 배포에서 Kubernetes Operator는 멤버 클러스터의 인덱스 접미사를 각 애플리케이션 데이터베이스의 StatefulSet에 <om_resource_name>-db-<cluster-idx> 형식으로 할당합니다(예: om-db-1.

  3. Kubernetes Operator가 <om_resource_name> StatefulSet를 생성하거나 업데이트합니다. 멀티 클러스터 배포에서 Kubernetes Operator는 멤버 클러스터의 인덱스 접미사를 각 StatefulSet에 <om_resource_name>-<cluster-idx> 형식으로 할당합니다(예: om-1.

    StatefulSet에는 각 Ops Manager 복제본당 하나의 파드가 포함되어 있습니다. 각 Ops Manager 복제본은 애플리케이션 데이터베이스에 연결됩니다.

    사용자 지정 리소스 에 대한 대부분의 변경 사항 MongoDBOpsManager StatefulSet에서 파드의 롤링 <om_resource_name> 업그레이드를 트리거합니다. 애플리케이션 데이터베이스에 대해 TLS를 활성화하면 애플리케이션 데이터베이스에 대한 연결 문자열이 변경되므로 롤링 재시작도 트리거됩니다. 를 spec.backup 변경해도 롤링 업그레이드가 트리거되지 않습니다.

  4. Kubernetes Operator는 Ops Manager API를 호출하여 관리자를 생성합니다. Kubernetes Operator는 이 관리 사용자의 자격 증명을 <om_resource_name>-admin-key 시크릿에 저장합니다. Kubernetes Operator는 다른 모든 Ops Manager API 호출에 이러한 자격 증명을 사용합니다. 이 조정 단계는 Kubernetes Operator를 사용하여 새 Ops Manager 리소스를 배포할 때 한 번만 발생합니다. Kubernetes Operator는 리소스를 업데이트할 때 이 단계를 건너뜁니다.

  5. Kubernetes Operator는 MongoDB Ops Manager가 모니터링할 수 있도록 <om_resource_name>-db 애플리케이션 데이터베이스 StatefulSet에서 파드의 롤링 업그레이드를 수행합니다. 모니터링은 기본적으로 활성화되어 있습니다. 이 조정 단계는 새 MongoDB Ops Manager 리소스를 배포할 때와 같이 한 번만 발생합니다.

  6. spec.backup.enabledtrue 인 경우, Kubernetes Operator는 <om_resource_name>-backup-daemon StatefulSet를 생성하거나 실행 중인지 확인합니다. 백업 데몬은 Ops Manager 배포와 동일한 애플리케이션 데이터베이스에 연결됩니다.

    멀티 클러스터 배포에서 Kubernetes Operator는 멤버 클러스터의 인덱스 접미사를 각 백업 데몬의 StatefulSet에 <om_resource_name>-backup-daemon-<cluster-idx> 형식으로 할당합니다(예: om-backup-daemon-1.

  7. spec.backup.enabled 이(가) true 인 경우, Kubernetes 연산자는 Ops Manager API를 호출하여 Ops Manager 애플리케이션의 백업 구성이 사용자 지정 리소스 정의에 정의된 구성과 일치하는지 확인합니다.

돌아가기

MongoDBOpsManager 리소스 정의

다음

여러 Kubernetes 클러스터에 배포