Operator と KubernetesアプリケーションをホストしているKubernetesMongoDB Ops Manager クラスターに障害が発生した場合は、 演算子クラスターとMongoDB Ops Manager アプリケーションを手動で回復できます。
MongoDB Ops Managerの以前の実行状態を復元するには、 MongoDB Ops Managerとアプリケーション データベース リソースに対して定期的なバックアップ メカニズムを構成します。 Kubernetes Operator は、 MongoDB Ops Managerアプリケーションの配置を管理するためにこれらのリソースを必要とします。
Kubernetes Operator とMongoDB Ops Managerの回復
KubernetesOperator とMongoDB Ops Manager MongoDB Ops Managerを復元するには、新しいKubernetes クラスターで リソースを復元します。
新しいクラスターで Kubernetes 演算子を構成します。
手順に従って、Kubernetes Operator を新しい Kubernetes クラスターにインストールします。
注意
ノードクラスターを再利用する場合は、適切なサービス アカウントとロールが存在することを確認してください。 これらの値は重複する可能性があり、中央クラスターとノードクラスター間で権限が異なる場合があります。
Kubernetes Operator に必要な適切なロールを確認するには、 パブリックリポジトリのサンプルを参照してください。
失敗したMongoDB Ops Managerリソースからバックアップされたリソースを取得します。
失敗した Ops Managerリソースのオブジェクト仕様をコピーし、次のリソースを取得し、プレースホルダー テキストを特定の Ops Managerリソース名と名前空間に置き換えます。
リソース タイプ | Values |
---|---|
シークレット |
|
ConfigMaps |
|
OpsManager |
|
次に、コピーした仕様を新しい ファイルに貼り付け、前述の値を使用して新しいリソースを構成します。 詳細については、「 MongoDB Ops Managerリソースの配置 」を参照してください。
MongoDB Ops Managerリソースを新しいクラスターに再適用します。
次のコマンドを使用して、更新されたリソースを適用します。
kubectl apply \ --context "$MDB_CENTRAL_CLUSTER_FULL_NAME" \ --namespace "mongodb" -f https://raw.githubusercontent.com/mongodb/mongodb-enterprise-kubernetes/master/samples/ops-manager/ops-manager-external.yaml
MongoDB Ops Manager リソースのステータスを確認するには、次のコマンドを使用します。
kubectl get om -o yaml -w
中央クラスターがRunning
状態に達したら、アプリケーション データベースを必要なメンバー クラスターの分散にリスケールできます。
この時点で、新しく復元された Kubernetes Operator は、既存のアプリケーション データベースの管理を選択します。
初期プロジェクトの作成に使用されるConfigMap 。
前の Kubernetes Operator インスタンスで使用されていたシークレット。
ライフサイクル中にKubernetes Operator によって追加された注釈を含む、ソースクラスターで最後に使用可能な状態になっている または カスタムリソース。
MongoDB
MongoDBMulticluster
注意
アプリケーション データベースのレプリカセットでいくつかのノードがなくなり、投票過半数を形成できない場合は、 レプリカセット を強制的に再構成します。 これにより、投票権の過半数を形成する新しいレプリカセット ノードが追加され、レプリカセットがプライマリを選出できるようになります。