MongoDB Controls for Kubernetes Operator は、 MongoDB Enterprise、 Ops Manager 、およびMongoDB Community をKubernetesに配置します。このページは、インストールする前に配置パスとインストール方法を選択するのに役立ちます。 Kubernetes Operator を初めて使用する場合は、 クイック スタート から開始してください。
配置パスの選択
Kubernetes 演算子は、ローカル評価クラスターから複数の Kubernetes クラスターにまたがる本番環境配置までの幅広い配置をサポートします。目標に合ったパスを選択します。
Ops Manager とMongoDBレプリカセットをローカル マシン上の単一ノードの種類クラスターに配置します。 Kubernetes Operatorを端から端まで評価したい場合、カスタムリソースがどのように連携するかを学びたい場合、または問題をローカルで再現したい場合は、クイックスタートを選択します。 ノードやクラスターの損失に耐えられる配置が必要な場合には、ノードが1 つだけ実行されるため、理想的ではありません。 | |
Ops Manager とMongoDB のリソースを 1 つの本番環境のKubernetesクラスターに配置します。 単一の 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 Operator はKubernetesドライバーであり、ネイティブKubernetes API を効果的に拡張して前述のMongoDB要素をカスタム リソースとして含めることで機能し、 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 の最初のバージョンの詳細については、リリースノート を参照してください。