重要
Kubernetes Operator は、 MongoDB Enterprise、 MongoDB Ops Manager、およびMongoDB Community をKubernetesに配置します。MongoDB EnterpriseおよびMongoDB Ops Managerで利用可能な構成オプションが幅広いため、このガイドではこれらの配置オプションに焦点を当てています。
KubernetesにMongoDB Community を配置するには、Githubのドキュメントを参照してください。
エンタープライズ MongoDB 配置は、2 つの異なるリソース タイプで構成されています。これらは、データのバックアップ、オートメーション(配置、構成、アップグレード)、リアルタイム モニタリングなどを担当するデータベース自体と外部データベースマネジメントリソースです。この外部リソースは、MongoDB Ops Manager(自己管理型リソース)または Cloud Manager(マネージドの同等物)のいずれかであります。
Community MongoDB 配置はデータベース リソースのみで構成されており、外部マネジメント リソースは含まれません。このガイドでは、Enterprise MongoDB 配置について説明します。Community MongoDB 配置の詳細については、GitHub のドキュメントを参照してください。
Kubernetes 演算子 を使用すると、これらのリソースを作成し、特定のニーズに応じて 1 つ以上の Kubernetes クラスターにわたる様々な構成で配置のすべての個別の要素を管理できます。
Kubernetes 演算子は Kubernetes Controller であり、前述の MongoDB 要素をカスタムリソースとして含めるようにネイティブ Kubernetes API を実効的に拡張することで機能します。これにより、他のリソースを Kubernetes に配置するのと同様に、YAML マニフェストを使用して定義および配置できるようになります。
MongoDB と MongoDB Ops Manager のカスタム リソースはスタンドアロン ポッドとして配置できますが、推奨される配置トポロジーでは、上の図に示すようにデータベースと MongoDB Ops Manager を StatefulSet として配置します。さらに、Kubernetes 演算子 では、データの保存とバックアップを担当する PersistentVolumes を作成するために、マネージド クラスターではデフォルトで利用可能な storageClass が Kubernetes クラスターで利用可能である必要があります。
Kubernetes Operator を使用して Kubernetes に MongoDB を配置するための特定のシステム要件と前提条件の詳細については、前提条件ページを参照してください。
MongoDB Controls for Kubernetes Operator は、以前のMongoDB Enterprise Kubernetes Operator とMongoDB Community Operator を置き換える演算子です。Kubernetes Operator の最初のバージョンの詳細については、リリースノート を参照してください。