このチュートリアルでは、制限されたネットワークOpenShift環境でKubernetes Operator 、 MongoDB Ops Managerインスタンス、およびKubernetes Operator を使用してMongoDBレプリカセット を配置する方法を説明します。
手順
Operator カタログをミラーリングし、デフォルトのカタログを無効にします。
Red Hat 演算子カタログには、 演算子 とその依存関係をクラスターにインストールするためにORMがクエリするメタデータが含まれています。 Operator カタログのコピーを作成し、クラスター管理者としてデフォルトのカタログを無効にする必要があります。
演算子バンドルのrelatedImagesには、次のイメージが一覧表示されます。
演算子が直接使用するイメージは、
mongodb-kubernetes-init-database、mongodb-kubernetes-init-ops-manager、mongodb-kubernetes-init-appdb、mongodb-kubernetes-init-databaseの現在のバージョンです。MongoDB Ops Managerの配置で構成可能なMongoDB Ops Manager 、AppDB、および
mongodb-agentの現在サポートされているイメージはすべて。
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 Managerautomation.versions.source: localMongoDB Ops Manager Atlas Triggers の永続的なボリュームを定義し、 MongoDBインストール アーカイブを保存します。Kubernetes Operator を使用して作成したMongoDBデータベースリソースコンテナで実行中MongoDB Agent は、インターネットからではなくMongoDB Ops Managerからインストール アーカイブをダウンロードします。
apiVersion: mongodb.com/v1kind: MongoDBOpsManagermetadata: name: ops-manager-localmodespec: replicas: 2 version: "8.0.0" adminCredentials: ops-manager-admin-secret configuration: # this enables local mode in Ops Manager automation.versions.source: local statefulSet: spec: # the Persistent Volume Claim will be created for each Ops Manager Pod volumeClaimTemplates: - metadata: name: mongodb-versions spec: accessModes: [ "ReadWriteOnce" ] resources: requests: storage: "20Gi" template: spec: containers: - name: mongodb-ops-manager volumeMounts: - name: mongodb-versions # this is the directory in each Pod where all MongoDB # archives must be put mountPath: /mongodb-ops-manager/mongodb-releases backup: enabled: false applicationDatabase: members: 3 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構成ファイルを保存します。
configuration: # this enables local mode in Ops Manager automation.versions.source: localstatefulSet: spec: # the Persistent Volume Claim will be created for each Ops Manager Pod volumeClaimTemplates: - metadata: name: mongodb-versions spec: accessModes: [ "ReadWriteOnce" ] resources: requests: storage: "20Gi" template: spec: containers: - name: mongodb-ops-manager volumeMounts: - name: mongodb-versions # this is the directory in each Pod where all MongoDB # archives must be put mountPath: /mongodb-ops-manager/mongodb-releasesMongoDBインストール アーカイブを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: v1kind: ConfigMapmetadata: name: my-project namespace: mongodbdata: projectName: myProjectName # this is an optional parameter orgId: 5b890e0feacf0b76ff3e7183 # this is a required parameter baseUrl: https://ops.example.com:8443EOFConfigMap の設定の詳細については、 OpenShift クイック スタートのステップ7を参照してください。
MongoDB Ops Managerをローカル モードで配置する方法の詳細については、「 ローカルモードを使用するようにMongoDB Ops Managerリソースを構成する 」を参照してください。
MongoDB Database リソースを配置します。
レプリカセットをまたはシャーディングされたクラスターを配置 できます。 詳細については、「 MongoDB Database リソースの配置 」を参照してください。