OpenShift クイック スタート
項目一覧
- 前提条件
- 手順
- MongoDB Enterprise Kubernetes Operatorリポジトリ をクローンします。
- 名前空間 を作成する (Kubernetes 配置用)。
-
kubectl
をデフォルトで名前空間に設定します。 - MongoDB Enterprise Kubernetes Operatorのインストール
- 認証情報を作成し、シークレットとして保存します。
- 以下のコマンドを呼び出して ConfigMap を作成します。
- レプリカセットリソースを配置します。
- データベースユーザーのパスワードを使用してシークレットを作成する
- データベースユーザーを作成します。
- 任意: Cloud ManagerまたはMongoDB Ops Managerで新しく作成されたユーザーを表示します。
- レプリカセットに接続します。
重要
このセクションは、単一の Kubernetes クラスターの配置のみを対象としています。 マルチ Kubernetes クラスターの MongoDB 配置については、 マルチKubernetes クラスター クイック スタート を参照してください。
MongoDB Enterprise Kubernetes Operator は、Kubernetes API とツールを使用して MongoDB クラスターを管理します。 Kubernetes Operator は、 MongoDB Cloud ManagerまたはMongoDB Ops Managerと連携します。 このチュートリアルでは、Cloud Manager MongoDB Ops ManagerOpenShiftKubernetesOperator を使用して から または の最初のレプリカセットに最初のレプリカセットを配置して接続する方法を説明します。
前提条件
このチュートリアルには次のものが必要です。
実行中のCloud ManagerまたはMongoDB Ops Managerクラスター。
手順
MongoDBEnterprise Kubernetes OperatorMongoDB Enterprise Kubernetes Operatorリポジトリをクローンします。
git clone https://github.com/mongodb/mongodb-enterprise-kubernetes.git
Kubernetes配置用の名前空間を作成します。
デフォルトでは、Kubernetes 演算子は mongodb
名前空間を使用します。 インストールを簡素化するために、次のmongodb
kubernetes を使用して というラベルの付いた名前空間を作成することを検討してください コマンド:
kubectl create namespace mongodb
MongoDB Enterprise Kubernetes Operatorのインストール
次の OC を呼び出します CustomResourceDefinitions をインストールするコマンド MongoDB 配置の場合
oc apply -f crds.yaml MongoDB Enterprise Kubernetes Operator YAMLファイルの
ServiceAccount
定義に<openshift-pull-secret>
を追加します。# Source: mongodb-enterprise-operator/templates/serviceaccount.yaml apiVersion: v1 kind: ServiceAccount metadata: name: enterprise-operator namespace: mongodb imagePullSecrets: - name: <openshift-pull-secret> apiVersion: v1 kind: ServiceAccount metadata: name: mongodb-enterprise-appdb namespace: mongodb imagePullSecrets: - name: <openshift-pull-secret> apiVersion: v1 kind: ServiceAccount metadata: name: mongodb-enterprise-database-pods namespace: mongodb imagePullSecrets: - name: <openshift-pull-secret> 次の OC を呼び出します Kubernetes Operator をインストールするためのコマンド
oc apply -f mongodb-enterprise-openshift.yaml
認証情報を作成し、シークレットとして保存します。
次のコマンドを実行します:
注意
次のパラメーターに公開キーの値と秘密キーの値を指定します。 詳細については、「 Kubernetes Operator の認証情報の作成 」を参照してください。
kubectl -n mongodb \ create secret generic ops-manager-admin-key \ --from-literal="publicKey=<publicKey>" \ --from-literal="privateKey=<privateKey>"
以下のコマンドを呼び出して ConfigMap を作成します。
cat <<EOF | kubectl apply -f - apiVersion: v1 kind: ConfigMap metadata: name: my-project namespace: mongodb data: projectName: myProjectName # this is an optional parameter; when omitted, the Operator creates a project with the resource name orgId: 5b890e0feacf0b76ff3e7183 # this is a required parameter baseUrl: https://ops.example.com:8443 EOF
キー | タイプ | 説明 | 例 |
---|---|---|---|
metadata.name | string | Kubernetes オブジェクト の名前 。 リソース名は 44 文字以下にする必要があります。 1123この名前は、小文字の英数字文字または 詳細については、 名前 に関するKubernetesのドキュメントを参照してください。 | my-project |
metadata.namespace | string | mongodb | |
data.projectName | string | MongoDB Ops Managerプロジェクトのラベル。 Kubernetes Operator は、 MongoDB Ops Managerプロジェクトが存在しない場合は、それを作成します。 または 組織で既存のプロジェクトを使用するには、Cloud Manager MongoDB Ops Manager | myProjectName |
data.orgId | string | 必須。 または 組織 を一意に識別する24 文字の 16stringCloud Manager MongoDB Ops Manager進 。 Kubernetes演算子を使用して、MongoDB Cloud ManagerMongoDB Ops Managerおよび バージョン6.0 .x 以降で リソースを配置できます。 Atlas 演算子を使用して、MongoDB リソースを Atlas に配置できます。
既存の Cloud Managerまたは 組織内に新しいプロジェクトを作成するには、 組織プロジェクト作成者MongoDB Ops Manager ロールが必要です。
| 5b890e0feacf0b76ff3e7183 |
data.baseUrl | string | FQDN とポート番号を含む MongoDB Ops Manager アプリケーションへの URL 。 重要: を Operator で配置し、 MongoDB Ops Managerが配置先のKubernetes クラスターのMongoDB Ops Manager MongoDB外部 に配置された データベースリソースを管理する場合、Kubernetes Cloud Manager を使用している場合は、 | https://ops.example.com:8443 |
レプリカセットリソースます。
次のYAMLファイルをコピーして保存します。
apiVersion: mongodb.com/v1 kind: MongoDB metadata: name: demo-mongodb-cluster-1 namespace: mongodb spec: members: 3 version: 4.4.5-ent type: ReplicaSet security: authentication: enabled: true modes: ["SCRAM"] cloudManager: configMapRef: name: my-project credentials: organization-secret persistent: true podSpec: podTemplate: spec: containers: - name: mongodb-enterprise-database resources: limits: cpu: 2 memory: 1.5G requests: cpu: 1 memory: 1G persistence: single: storage: 10Gi 次のコマンドを実行します:
kubectl apply -f <replica-set-conf>.yaml
データベースユーザーのパスワードを使用してシークレットを作成する
クリアテキスト パスワードまたは base64 でエンコードされたパスワードのどちらかを使用できます。 プレーンテキスト パスワードではstringData.password
が使用され、Base64 でエンコードされたパスワードではdata.password
が使用されます。
注意
次のパラメーターに値を指定します。 詳しくは、パラメーターの説明を参照してください。
クリアテキスト パスワードの場合は、次のYAMLファイルを作成して保存します。
apiVersion: v1 kind: Secret metadata: name: mms-user-1-password # corresponds to user.spec.passwordSecretKeyRef.name type: Opaque stringData: password: <my-plain-text-password> # corresponds to user.spec.passwordSecretKeyRef.key
base64 でエンコードされたパスワードの場合は、次の YAML ファイルを作成して保存します。
apiVersion: v1 kind: Secret metadata: name: mms-user-1-password # corresponds to user.spec.passwordSecretKeyRef.name type: Opaque data: password: <base-64-encoded-password> # corresponds to user.spec.passwordSecretKeyRef.key
データベースユーザーを作成します。
次のMongoDB ユーザー リソース仕様ファイルをコピーして保存します。
apiVersion: mongodb.com/v1 kind: MongoDBUser metadata: name: mms-scram-user-1 spec: passwordSecretKeyRef: name: mms-user-1-password # Match to metadata.name of the User Secret key: password username: "mms-scram-user-1" db: "admin" # mongodbResourceRef: name: "demo-mongodb-cluster-1" # Match to MongoDB resource using authenticaiton roles: - db: "admin" name: "clusterAdmin" - db: "admin" name: "userAdminAnyDatabase" - db: "admin" name: "readWrite" - db: "admin" name: "userAdminAnyDatabase" 次のコマンドを実行します:
kubectl apply -f <database-user-conf>.yaml
レプリカセットに接続します。
Cloud Managerアプリケーションで次の手順を実行します。
左側のナビゲーションで [ Deployment ] をクリックします。
をクリックします接続する配置の 。
[Connect to this instance] をクリックします。
配置に接続するには、ターミナルで接続コマンドを実行します。