AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

Kubernetes Operator 用のMongoDBドライバーのインストール

注意

このチュートリアルでは、 Kubernetesに関するある程度の知識を前提としています。 Kubernetesに詳しくない場合は、開始する前にKubernetesオブジェクトとカスタム リソースに関するKubernetes のドキュメントを確認してください。 Kubernetes演算子は、Ops Manager とMongoDB の配置をカスタムkubectl リソースとして表します。これらは、他のKubernetesオブジェクトと同じ方法で作成、管理します。これらのカスタム リソースが相互にどのように関連するかについては、「 Kubernetes演算子アーキテクチャ用のMongoDBコントロールの概要 」を参照してください。

Kubernetes 演算子 をインストールする前に、次の前提条件を満たしてください。

1

Kubernetesソリューションが必要な場合は、 適切なソリューションの選択 に関するKubernetes のドキュメントを参照してください。サポートされているハードウェアアーキテクチャを確認します。

2
git clone https://github.com/mongodb/mongodb-kubernetes.git
cd mongodb-kubernetes
git checkout 1.10.0

注意

Helm を使用してKubernetes Operator をインストールできます。Helm をインストールする方法については、 Githubのドキュメントを参照してください。

3

デフォルトでは 、 Kubernetes演算子は mongodb名前空間を使用します。インストールを簡素化するために、次の kubernetes コマンドを使用して mongodb というラベルの付いた名前空間を作成することを検討してください。

kubectl create namespace mongodb

mongodb名前空間を使用しない場合は、名前空間に次のようにラベルを付けることができます。

kubectl create namespace <namespaceName>
4

Operator MongoDB Ops Managerを使用して リソースを配置しない場合は、 クラスターの外部でKubernetesMongoDB Ops Manager Kubernetesを実行する必要があります。Operator を使用して にMongoDB Ops Manager リソースを配置する場合は、この前提条件をスキップします。KubernetesKubernetes

重要

MongoDB Ops Managerインストールでは、アクティブなNTPサービスを実行する必要があります。 MongoDB Ops Managerホストのクロックが同期しない場合、そのホストはKubernetes Operator と通信できなくなります。

MongoDB Ops Managerホストの NTP サービスを確認する方法については、 RHEL のドキュメントを参照してください。

次の計画トピックを確認します。詳細については、Kubernetes Operator のインストールの計画を参照してください。

インストール手順は、環境の構成方法によって異なります。

注意

全体で同じ名前空間を使用する

デフォルトでは、Kubernetes 演算子はKubernetesクラスター内のすべてのリソースを名前空間 mongodbに配置します。mongodb-kubernetes.yamlのmetadata.namespaceのすべての値を編集することで、Kubernetes演算子リソースを別の名前空間に配置できます。また、同じファイル内のすべてのRoleBindingとClusterRoleBindingのsubjects[0].namespace値も更新する必要があります。この値を省略すると、バインディングはデフォルトのmongodb名前空間でServiceAccountを探しますが、見つけることができません。

---
apiVersion: v1
kind: ServiceAccount
metadata:
name: mongodb-kubernetes-operator
namespace: production
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: mongodb-kubernetes-operator
namespace: production
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: mongodb-kubernetes-operator
subjects:
- kind: ServiceAccount
name: mongodb-kubernetes-operator
namespace: production
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: mongodb-kubernetes-operator
namespace: production
---
# Example truncated
---
...
1

Kubernetes Operator のインストール設定の詳細については、「 Operator kubernetes および oc インストール設定 」を参照してください。

注意

To enable the Public Preview of static containers, which improve and simplify security, see Static Containers (Public Preview). We don't recommend using this feature in production while it's in Public Preview. To learn more, see Preview Features.

2

次の kubectl コマンドを実行して、選択したバージョンの CRD を Kubernetes クラスターに配置します。

kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-kubernetes/1.10.0/public/crds.yaml
3

次の kubectl コマンドを実行して、選択したバージョンのKubernetes 演算子をKubernetesクラスターに配置します。

kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-kubernetes/1.10.0/public/mongodb-kubernetes.yaml

開始する前に、 Kubernetes Operator をOpenShiftに配置するときに、MANAGED_SECURITY_CONTEXT フラグが true に設定されていることを確認してください。この値は、values-openshift.YAMLファイルで事前定義されています。

インストール手順は、環境の構成方法によって異なります。

注意

全体で同じ名前空間を使用する

デフォルトでは、Kubernetes 演算子はKubernetesクラスター内のすべてのリソースを名前空間 mongodbに配置します。mongodb-kubernetes-openshift.yamlのmetadata.namespaceのすべての値を編集することで、Kubernetes演算子リソースを別の名前空間に配置できます。また、同じファイル内のすべてのRoleBindingとClusterRoleBindingのsubjects[0].namespace値も更新する必要があります。この値を省略すると、バインディングはデフォルトのmongodb名前空間でServiceAccountを探しますが、見つけることができません。

---
apiVersion: v1
kind: ServiceAccount
metadata:
name: mongodb-kubernetes-operator
namespace: production
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: mongodb-kubernetes-operator
namespace: production
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: mongodb-kubernetes-operator
subjects:
- kind: ServiceAccount
name: mongodb-kubernetes-operator
namespace: production
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: mongodb-kubernetes-operator
namespace: production
---
# Example truncated
---
...
1

次のgitコマンドを呼び出します。

git clone https://github.com/mongodb/mongodb-kubernetes.git
cd mongodb-kubernetes
git checkout 1.10.0
2

たとえば、ホームページ ディレクトリのリポジトリをクローンした場合は、次を実行します。

cd ~/mongodb-kubernetes
3

次の OC コマンドを呼び出します。

oc apply -f crds.yaml
4

Kubernetes Operator のインストール設定の詳細については、「 Operator kubernetes および oc インストール設定 」を参照してください。

注意

To enable the Public Preview of static containers, which improve and simplify security, see Static Containers (Public Preview). We don't recommend using this feature in production while it's in Public Preview. To learn more, see Preview Features.

5
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: enterprise-operator
namespace: mongodb
imagePullSecrets:
- name: <openshift-pull-secret>
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: mongodb-kubernetes-appdb
namespace: mongodb
imagePullSecrets:
- name: <openshift-pull-secret>
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: mongodb-kubernetes-database-pods
namespace: mongodb
imagePullSecrets:
- name: <openshift-pull-secret>

詳しくは、 Helm インストール設定のregistry.imagePullSecrets設定を参照してください。

6

次の OC コマンドを呼び出します。

oc apply -f mongodb-kubernetes-openshift.yaml

Kubernetes Operator が正しくインストールされたことを確認するには、次のコマンドを実行し、出力を確認します。

kubectl describe deployments mongodb-kubernetes-operator -n <metadata.namespace>

デフォルトでは、配置はmongodb名前空間に存在します。 次のエラー メッセージが表示される場合は、正しい名前空間を使用していることを確認してください。

Error from server (NotFound): deployments.apps "mongodb-kubernetes-operator" not found

Kubernetes Operator のトラブルシューティングについては、「 Kubernetes Operator からのログの確認 」やその他のトラブルシューティング トピックを参照してください。

重要

Kubernetes Operator または名前空間を削除する必要がある場合は、まずMongoDB リソースを削除する必要があります。

Kubernetes Operator 用のMongoDBコントロール をインストールすると、次のことが可能になります。