MongoDB Controllers for Kubernetes Operator deploys MongoDB Enterprise, Ops Manager, and MongoDB Community to Kubernetes. This page helps you choose a deployment path and an installation method before you install. If you are new to Kubernetes Operator, start with the Quick Start.
配置パスの選択
Kubernetes 演算子は、ローカル評価クラスターから複数の Kubernetes クラスターにまたがる本番環境配置までの幅広い配置をサポートします。目標に合ったパスを選択します。
Deploys Ops Manager and a MongoDB replica set to a single-node Kind cluster on your local machine. Kubernetes Operatorを端から端まで評価したい場合、カスタムリソースがどのように連携するかを学びたい場合、または問題をローカルで再現したい場合は、クイックスタートを選択します。 ノードまたはクラスターの損失に耐える配置が必要な場合、Kind は 1 つのノードを実行するため、あまり適していません。 | |
Deploys Ops Manager and MongoDB resources to one production Kubernetes cluster. 単一の Kubernetes クラスター内で可用性要件が満たされる場合、および操作するインフラストラクチャを最小限に抑えたい場合は、単一クラスター配置を選択します。 Kubernetes クラスターまたはリージョン全体の損失から復旧する必要がある場合は、あまり理想的ではありません。 | |
サービス メッシュの有無にかかわらず、複数の Kubernetes クラスターにわたって 1 つの MongoDB デプロイメントを配置します。 高可用性と障害復旧のためにレプリカセットのノードをリージョンまたはデータセンター間に分散させる必要がある場合は、複数のクラスター配置を選択します。 Kubernetes 演算子を評価する場合は、複数の Kubernetes クラスターを構成および操作する必要があるため、あまり理想的ではありません。 |
MongoDB Community をKubernetesに配置するには、 GitHub のMongoDB Community のドキュメント を参照してください。 MongoDB Enterpriseおよび Ops Manager で利用できる構成オプションは幅広いため、このガイドではそれらの配置をカバーします。
インストール方法の選択
各メソッドでは同じ Kubernetes 演算子がインストールされます。各メソッドの詳細については、 Kubernetes Operator 用の MongoDB コントローラのインストール を参照してください。
MongoDB が公開している YAML マニフェストを適用します。 マニフェストをソース管理で管理する場合、またはマニフェストを適用する前に検討して編集したい場合は、 YAML を編集しないで設定を行いたい場合は、あまり適していません。 | |
マニフェストではなく、値を使用して Kubernetes 演算子を構成する場合は Helm を選択します。または、名前空間のサブセットを監視するなど、Helm のみが公開するオプションが必要な場合も同様です。 組織で Helm が許可されていない場合は、あまり理想的ではありません。 | |
OpenShift チャート値で
OpenShift 以外の Kubernetes ディストリビューションにはあまり適していません。 |
Kubernetes 演算子の仕組み
エンタープライズ MongoDB の配置は、データベース自体と、データのバックアップ、オートメーション (配置、構成、アップグレード)、リアルタイム モニタリングなどを担当する外部データベース マネジメント リソースの 2 つの異なるリソース タイプで構成されています。この外部リソースは、MongoDB Ops Manager (自己管理型リソース)または Cloud Manager (マネージド型の同等品)のいずれかであります。
Community MongoDB 配置はデータベース リソースのみで構成されており、外部のマネジメント リソースは含まれません。
Kubernetes 演算子 を使用すると、これらのリソースを作成し、特定のニーズに応じて 1 つ以上の Kubernetes クラスターにわたる様々な構成で配置のすべての個別の要素を管理できます。
Kubernetes 演算子 はKubernetes Controllerであり、前述の MongoDB 要素をカスタムリソースとして含めるようにネイティブ Kubernetes API を実効的に拡張することで機能します。これにより、それらを他のリソースと同様に YAML マニフェストで定義し、Kubernetes に配置できます。
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 の最初のバージョンの詳細については、リリースノート を参照してください。