このチュートリアルでは、制限されたネットワークMongoDB Enterprise MongoDB Ops ManagerMongoDBKubernetesOpenShift環境で Operator を使用して Operator、 インスタンス、および レプリカセットを配置する方法を説明します。
手順
Operator カタログをミラーリングし、デフォルトのカタログを無効にします。
Red Hat 演算子カタログには、演算子とその依存関係をクラスターにインストールするために ORMがクエリするメタデータが含まれています。 Operator カタログのコピーを作成し、クラスター管理者としてデフォルトのカタログを無効にする必要があります。
演算子バンドルの relatedImagesには、次のイメージが一覧表示されます。
- 演算子が直接使用するイメージは、 - mongodb-enterprise-init-database-ubi、- mongodb-enterprise-init-ops-manager-ubi、- mongodb-enterprise-init-appdb-ubi、- mongodb-enterprise-init-database-ubiの現在のバージョンです。
- MongoDB Ops Managerの配置で構成可能なMongoDB Ops Manager 、AppDB、および - mongodb-agent-ubiの現在サポートされているイメージはすべて。
initイメージには、最新の Kubernetes Operator バージョンに存在するバージョンのみを使用します。
演算子バンドルが参照するすべての関連イメージのサイズが26 GB を超えています。
ミラーリング コマンドでは、サポートされていないバージョンの AppDB イメージは選択されません。サポートされていない他のバージョンを使用する場合は、これらのイメージをミラーリング レジストリに手動で提供する必要があります。特定の演算子バージョンのその他のバージョンについては、配置のイメージを参照してください。
RELATED_IMAGE_* 環境変数で定義されているイメージの完全なリストについては、CSV ファイル を参照してください。
- ミラーリングするには、切断されたインストールのイメージのミラーリング を参照してください。 - oc adm catalog mirrorコマンドを実行してカタログをミラーリングすると、- imageContentSourcePolicy.yamlファイルを適用して、元のソースをミラーリングされたイメージに再マッピングする必要があります。(例: )。- oc apply -f ./<output dir>/imageContentSourcePolicy.yaml - 詳細については、切断されたクラスターで使用するためのミラーリング演算子のカタログ を参照してください。各MongoDB Ops ManagerバージョンでサポートされているMongoDBバージョンのリストについては、互換性のあるMongoDBバージョンを参照してください。 
- デフォルトのカタログを無効にするには、 - OperatorHubオブジェクトに- disableAllDefaultSources: trueを追加します。
MongoDB Ops Managerを ローカル モード で配置します。
MongoDB Ops Managerを ローカル モード で配置するには、次の操作を行う必要があります。
- 次の例のMongoDB Ops Manager Kubernetesオブジェクトをコピーし、 - .yamlファイルとして保存します。- ローカル モードを有効にするには、 で - spec.configurationの構成設定 を使用します。MongoDB Ops Manager- automation.versions.source: local
- MongoDB Ops Manager Atlas Triggers の永続的なボリュームを定義し、 MongoDBインストール アーカイブを保存します。Kubernetes Operator を使用して作成したMongoDBデータベースリソースコンテナで実行中MongoDB Agent は、インターネットからではなくMongoDB Ops Managerからインストール アーカイブをダウンロードします。 
 - 1 - apiVersion: mongodb.com/v1 - 2 - kind: MongoDBOpsManager - 3 - metadata: - 4 - name: ops-manager-localmode - 5 - spec: - 6 - replicas: 2 - 7 - version: "6.0.0" - 8 - adminCredentials: ops-manager-admin-secret - 9 - configuration: - 10 - # this enables local mode in Ops Manager - 11 - automation.versions.source: local - 12 - statefulSet: - 13 - spec: - 14 - # the Persistent Volume Claim will be created for each Ops Manager Pod - 15 - volumeClaimTemplates: - 16 - - metadata: - 17 - name: mongodb-versions - 18 - spec: - 19 - accessModes: [ "ReadWriteOnce" ] - 20 - resources: - 21 - requests: - 22 - storage: "20Gi" - 23 - template: - 24 - spec: - 25 - containers: - 26 - - name: mongodb-ops-manager - 27 - volumeMounts: - 28 - - name: mongodb-versions - 29 - # this is the directory in each Pod where all MongoDB - 30 - # archives must be put - 31 - mountPath: /mongodb-ops-manager/mongodb-releases - 32 - backup: - 33 - enabled: false - 34 - applicationDatabase: - 35 - members: 3 - 36 - persistent: true - 設定の詳細については、「 MongoDB Ops Managerリソースの配置 」を参照してください。 
- ocをデフォルトで名前空間に設定します。- oc config set-context $(oc config current-context) --namespace=<metadata.namespace> 
- 次のMongoDB Ops Managerリソース設定をコピーし、既存のMongoDB Ops Managerリソースに貼り付けて、 MongoDB Ops Manager構成ファイルを保存します。 - 1 - configuration: - 2 - # this enables local mode in Ops Manager - 3 - automation.versions.source: local - 4 - statefulSet: - 5 - spec: - 6 - # the Persistent Volume Claim will be created for each Ops Manager Pod - 7 - volumeClaimTemplates: - 8 - - metadata: - 9 - name: mongodb-versions - 10 - spec: - 11 - accessModes: [ "ReadWriteOnce" ] - 12 - resources: - 13 - requests: - 14 - storage: "20Gi" - 15 - template: - 16 - spec: - 17 - containers: - 18 - - name: mongodb-ops-manager - 19 - volumeMounts: - 20 - - name: mongodb-versions - 21 - # this is the directory in each Pod where all MongoDB - 22 - # archives must be put - 23 - mountPath: /mongodb-ops-manager/mongodb-releases 
- MongoDBインストール アーカイブをMongoDB Ops Manager永続ボリュームにコピーします。 - MongoDBインストール アーカイブをコピーする方法については、「ローカル モードを使用するようにMongoDB Ops Managerリソースを構成する」手順の ステップ 10 を参照してください。 
- 認証情報を作成し、シークレットとして保存します。 - 次のコマンドを実行します: - 注意- 次のパラメータに公開キーと秘密キーの値を指定します。 詳細については、「 Kubernetes Operator の認証情報の作成 」を参照してください。 - oc \ - create secret generic ops-manager-admin-key \ - --from-literal="publicKey=<publicKey>" \ - --from-literal="privateKey=<privateKey>" 
- 次のような ConfigMap を作成します。 - cat <<EOF | oc apply -f - - apiVersion: v1 - kind: ConfigMap - metadata: - name: my-project - namespace: mongodb - data: - projectName: myProjectName # this is an optional parameter - orgId: 5b890e0feacf0b76ff3e7183 # this is a required parameter - baseUrl: https://ops.example.com:8443 - EOF - ConfigMap の設定の詳細については、 OpenShift クイック スタートのステップ7を参照してください。 
MongoDB Ops Managerをローカル モードで配置する方法の詳細については、「 ローカルモードを使用するようにMongoDB Ops Managerリソースを構成する 」を参照してください。
MongoDB Database リソースを配置します。
レプリカセットをまたはシャーディングされたクラスターを配置 できます。 詳細については、「 MongoDB Database リソースの配置 」を参照してください。