사용자 지정 리소스 조정 MongoDBOpsManager
다음 다이어그램은 Kubernetes Operator가 MongoDBOpsManager
CustomResourceDefinition 에 대한 변경 사항을 조정하는 방법을 설명합니다. 각 멤버 Kubernetes 클러스터에서.
Kubernetes 연산자가
<om_resource_name>-db-config
시크릿을 만들거나 업데이트합니다. 이 비밀에는 MongoDB Agent가 애플리케이션 데이터베이스 복제본 세트를 시작하는 데 사용하는 구성이 포함되어 있습니다.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
.
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
변경해도 롤링 업그레이드가 트리거되지 않습니다.Kubernetes Operator는 Ops Manager API를 호출하여 관리자를 생성합니다. Kubernetes Operator는 이 관리 사용자의 자격 증명을
<om_resource_name>-admin-key
시크릿에 저장합니다. Kubernetes Operator는 다른 모든 Ops Manager API 호출에 이러한 자격 증명을 사용합니다. 이 조정 단계는 Kubernetes Operator를 사용하여 새 Ops Manager 리소스를 배포할 때 한 번만 발생합니다. Kubernetes Operator는 리소스를 업데이트할 때 이 단계를 건너뜁니다.Kubernetes Operator는 MongoDB Ops Manager가 모니터링할 수 있도록
<om_resource_name>-db
애플리케이션 데이터베이스 StatefulSet에서 파드의 롤링 업그레이드를 수행합니다. 모니터링은 기본적으로 활성화되어 있습니다. 이 조정 단계는 새 MongoDB Ops Manager 리소스를 배포할 때와 같이 한 번만 발생합니다.spec.backup.enabled
가 true 인 경우, Kubernetes Operator는<om_resource_name>-backup-daemon
StatefulSet를 생성하거나 실행 중인지 확인합니다. 백업 데몬은 Ops Manager 배포와 동일한 애플리케이션 데이터베이스에 연결됩니다.멀티 클러스터 배포에서 Kubernetes Operator는 멤버 클러스터의 인덱스 접미사를 각 백업 데몬의 StatefulSet에
<om_resource_name>-backup-daemon-<cluster-idx>
형식으로 할당합니다(예:om-backup-daemon-1
.spec.backup.enabled
이(가) true 인 경우, Kubernetes 연산자는 Ops Manager API를 호출하여 Ops Manager 애플리케이션의 백업 구성이 사용자 지정 리소스 정의에 정의된 구성과 일치하는지 확인합니다.