配置タイプの手順に従って、 MongoDB Enterprise Kubernetes Operator ではなくMongoDB Controls for Kubernetes Operator を使用して、MongoDB EnterpriseおよびMongoDB Ops Manager配置の管理を開始します。
MongoDB Enterprise演算子からほとんどの配置でKubernetes演算子用のMongoDBコントロールに移行
ほとんどの配置シナリオで移行するには、次の手順に従います。演算子ライフサイクル マネージャー(OLM)を使用して演算子配置(通常はOpenShiftクラスター)を管理している場合は、代わりにこれらの手順を参照してください。
複数のKubernetesクラスターにリソースを配置している場合は、次の 2 つのタスクを実行します。
kubectlプラグイン バイナリをバックアップします。これにより、問題が発生した場合に、 Kubernetes Operator 用のMongoDBドライバーへの移行を元に戻すのが簡単になります。マルチクラスター設定のドキュメント( MongoDB Controls for Kubernetes Operator リリースの
kubectlプラグインを使用するように)または、 Helm テンプレートを使用して手動でノードクラスターを構成します。重要
ステップ 5 でKubernetes Operator 用のMongoDBコントロールを配置する前に、 Kubernetes Operator 用のMongoDBドライバーの RBAC をノードクラスターに配置する必要があります。新しい RBAC リソースは
mongodb-kubernetes-operator-で始まります。また、最新バージョンのkubectlプラグイン バイナリを実行中後、mongodb-kubernetes-operator-member-listが演算子クラスターに存在することを確認する必要があります。
Kubernetes Operator CRD 用のMongoDBコントロールを手動でインストールします。
kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-kubernetes/1.0.1/public/crds.yaml
配置を 1.0.1 に移行すると、MongoDB Control for Kubernetes 演算子 は、中間バージョンをスキップし、使用可能な最新バージョンに直接アップグレードすることをお勧めします。このアップグレードおよび今後のすべてのアップグレードには、通常のアップグレード手順を使用できます。
CRD がKubernetesクラスターにインストールされていることを確認するには、mongodbcommunity CRD を検索します。
Tip
MongoDB Ops ManagerとMongoDB Enterpriseのカスタムリソース名は、 Kubernetes Operator 用のMongoDBドライバーでは変更されていません。 MongoDB Community リソースが配置されていない場合もありますが、mongodbcommunity カスタム リソースを検索することがMongoDB Controls for Kubernetes Operator のインストールを確認する最も簡単な方法です。
kubectl get crds | grep mongodbcommunity
Kubernetes Operator 用の新しいMongoDBドライバー をインストールします。
次のいずれかのインストール方法を選択します。
警告
Enterprise Kubernetes Operator配置のデフォルトのHelmチャート値をオーバーライドした場合は、リソース名が競合して移行が成功しなくなる可能性があるため、 Kubernetes Operator 用のMongoDBドライバーの配置では同じ値を使用しないでください。
helm repo add mongodb https://mongodb.github.io/helm-charts && \ helm repo update && \ helm upgrade --install mongodb-kubernetes-operator mongodb/mongodb-kubernetes --namespace <your-namespace>
警告
Enterprise Kubernetes Operator配置の YAML 構成をカスタマイズした場合は、移行が成功を妨げる可能性のあるリソース名の競合を避けるために、カスタマイズがMongoDB コントローラー for Kubernetes 演算子 配置と互換性があることを確認してください。
次の kubectl コマンドを実行して、選択したバージョンのKubernetes 演算子をKubernetesクラスターに配置します。
kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-kubernetes/1.6.1/public/mongodb-kubernetes.yaml
MongoDB Controls for Kubernetes Operator のリコンストラクターが、既存のカスタム リソースの実行と処理を行います。
Kubernetes Operator 用のMongoDBドライバーは、更新されたイメージ、ServiceAccounts、およびその他のリソースを適用します。
初期化コンテナイメージにカスタム セキュリティ構成がある場合は、YAML ファイルを更新して、mongodb-enterprise- ではなく新しい mongodb-kubernetes- プレフィックスを使用します。
重要
この手順により、配置された ポッドのローリング再起動がトリガーされます。RBAC 名がMongoDB Enterprise Kubernetes Operator からMongoDB Controls for Kubernetes Operator に変更されたためです。
リソースが調整され(Running フェーズに達して)、正常になるまで待ちます。
デフォルトでは 、 MongoDB Controls for Kubernetes Operator は複数のリソースを並行して調整しません。デフォルトの動作を変更するには、 https://github.com/mongodb/mongodb-kubernetes/lob/ Master/public/mongodb-kubernetes.YAML#L358 を参照し、MDB_MAX_CONCURRENT_RECONCILES 環境変数を増やします。
MongoDB Enterprise Kubernetes Operatorから、 OpenShiftまたはその他のプラットフォーム上の演算子ライフサイクル マネージャーを使用するKubernetes演算子用のMongoDBコントロールに移行
OLM(OpenShiftクラスター上の一般的な配置方法であるが、他のKubernetesプラットフォームでも可能)を使用してMongoDB Enterprise Kubernetes OperatorからMongoDB Controllers for Kubernetes Operatorに移行するには、古いオペレーターをアンインストールしてから、新しいオペレーターをインストールします。
重要
Enterprise Kubernetes Operatorを削除しても、 Kubernetesに配置するデータベースとMongoDB Ops Managerリソースには影響しません。移行プロセスはワークロードに影響を与えません。
MongoDB Enterprise Kubernetes Operator の v1.33 にアップグレードします。
Upgrade your MongoDB Enterprise Kubernetes Operator deployment to v1.33 before you migrate. The upgrade process requires that you upgrade incrementally through each minor version. For example, if you are upgrading from version 1.31.x, you must first upgrade to 1.32.x before proceeding to 1.33.x.
クラスターで使用可能なカタログからKubernetes Operator 用のMongoDBドライバーをインストールします。
Kubernetes Operator 用のMongoDBコントロールは、Red Hat の認定演算子カタログ、および Operator Hub.io カタログから入手できます。
kubectl create -f <path-to-bundle>
Community Kubernetes OperatorからKubernetes Operator 用のMongoDBコントロールへの移行
Kubernetes Operator 用のMongoDBコントロールに移行する方法については、次のリソースを参照してください。