制限されたネットワークでの配置
このチュートリアルでは、制限されたネットワーク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各MongoDB Ops Manager バージョンでサポートされている バージョンのリストについては、「 互換性のある バージョンMongoDB 」を参照してください。
デフォルトのカタログを無効にするには、
OperatorHub
オブジェクトにdisableAllDefaultSources: true
を追加します。
MongoDB Ops Managerを ローカル モード で配置します。
MongoDB Ops Managerを ローカル モード で配置するには、次の操作を行う必要があります。
次の例のMongoDB Ops ManagerKubernetes オブジェクト
.yaml
をコピーします ファイルとして保存するにはローカル モードを有効にするには、 で
spec.configuration
の構成設定 を使用します。MongoDB Ops Managerautomation.versions.source: local
永続的なボリューム MongoDB Ops ManagerMongoDBの定義 Atlas の で、 インストール アーカイブの保存Operator を使用して作成したMongoDB Agent MongoDBデータベース リソース コンテナで実行されているKubernetesMongoDB 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 リソースの配置 」を参照してください。