前提条件と考慮事項
Kubernetes Operator をインストールする前に、インストールの計画を立ててください。
注意
このチュートリアルでは、Kubernetes に関するある程度の知識と、関連する Kubernetes ドキュメントにリンクすることを前提としています。 Kubernetes に詳しくない場合は、まずそのドキュメントを確認してください。
Kubernetes を使用したインストール
インストール手順は、環境の構成方法によって異なります。
注意
全体で同じ名前空間を使用する
デフォルトでは、Kubernetes Operator はKubernetesクラスター内のすべてのリソースを名前空間 mongodb に配置します。mongodb-enterprise.yaml で metadata.namespace のすべての値を編集することで、 Kubernetes Operator リソースを別の名前空間に配置できます。
##--- # Source: mongodb-enterprise-operator/templates/serviceaccount.yaml apiVersion: v1 kind: ServiceAccount metadata: name: mongodb-enterprise-operator namespace: production ##--- # Source: mongodb-enterprise-operator/templates/operator.yaml apiVersion: apps/v1 kind: Deployment metadata: name: mongodb-enterprise-operator namespace: production # Example truncated ...
オプション: Kubernetes Operator YAML をインストールする前にカスタマイズします。
Kubernetes Operator のインストール設定の詳細については、「 Operator kubernetes および oc インストール設定 」を参照してください。
注意
静的コンテナのパブリック プレビューを有効にしてセキュリティを向上および簡素化するには、「静的コンテナ(パブリック プレビュー) 」を参照してください。 この機能は、パブリック プレビュー段階で本番環境で使用することは推奨しません。
<version>プレースホルダーにデータを入力し、次のkubectlコマンドを実行して、選択したバージョンの Kubernetes Operator を Kubernetes クラスターに配置します。
kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-enterprise-kubernetes/<version>/mongodb-enterprise.yaml
Kubernetes用のMongoDB Helm Charts を使用します。
Kubernetes用のMongoDB Helm Chartsを追加します。
Kubernetes Operator Helm Chart は、次のコマンドを実行することでローカルに追加できます。
helm repo add mongodb https://mongodb.github.io/helm-charts
配置する前に Helm Chart をカスタマイズします。
任意の Kubernetes Operator インストール設定の詳細については、「 Operator Helm のインストール設定 」を参照してください。
Kubernetes 演算子 を配置します。
次のhelmコマンドを実行して、Kubernetes Operator を Kubernetes クラスター内のデフォルトの名前空間に配置します。
helm upgrade --install enterprise-operator mongodb/enterprise-operator
次のように、 --namespaceと--create-namespaceフラグを渡して、Kubernetes Operator をデフォルト以外の名前空間に配置できます。
helm upgrade --install enterprise-operator mongodb/enterprise-operator \ --namespace mongodb \ --create-namespace
Helm で特定の日次ビルドをインストール
MongoDB は毎日 Kubernetes Operator イメージを再ビルドして、最新のセキュリティと OS のアップデートを統合します。
デフォルトでは、 helmは指定したバージョンの Kubernetes Operator の最新ビルドをインストールします。
以前のビルドをインストールするには、 --set build=<build-id>を使用してパラメーターとしてビルド ID を指定します。 ビルド ID は常に-b<YYYYMMDD>T000000Zの形式で、 <YYYYMMDD>は使用するビルドが作成された日付です。
例
以下の例では、最新のイメージを使用して Kubernetes Operator をインストールする方法を示しています。
helm install enterprise-operator mongodb/enterprise-operator
以下の例では、2021 年 2 月 5 日の午前 0 時に作成されたイメージで Kubernetes Operator をインストールする方法を示しています。
helm install enterprise-operator mongodb/enterprise-operator \ --set build=-b20210205T000000Z
注意
MongoDB では、デフォルト(最新)のビルドを使用することを推奨しています。
OpenShift を使用したインストール
開始する前に、 Kubernetes Operator をOpenShiftに配置するときに、MANAGED_SECURITY_CONTEXT フラグが true に設定されていることを確認してください。この値は、values-openshift.YAMLファイルで事前定義されています。
インストール手順は、環境の構成方法によって異なります。
注意
全体で同じ名前空間を使用する
デフォルトでは、Kubernetes Operator はKubernetesクラスター内のすべてのリソースを名前空間 mongodb に配置します。mongodb-enterprise-openshift.yaml で metadata.namespace のすべての値を編集することで、 Kubernetes Operator リソースを別の名前空間に配置できます。
##--- # Source: mongodb-enterprise-operator/templates/serviceaccount.yaml apiVersion: v1 kind: ServiceAccount metadata: name: enterprise-operator namespace: production ##--- # Source: mongodb-enterprise-operator/templates/operator.yaml apiVersion: apps/v1 kind: Deployment metadata: name: enterprise-operator namespace: production # Example truncated ...
MongoDB Enterprise Kubernetes Operatorリポジトリをクローンします。
次のgitコマンドを呼び出します。
git clone https://github.com/mongodb/mongodb-enterprise-kubernetes.git
MongoDB Enterprise Kubernetes Operatorリポジトリをクローンしたディレクトリに移動します。
たとえば、ホームページ ディレクトリのリポジトリをクローンした場合は、次を実行します。
cd ~/mongodb-enterprise-kubernetes
MongoDB配置用の CustomResourceDefinitions をインストールします。
次の OC コマンドを呼び出します。
oc apply -f crds.yaml
オプション: Kubernetes Operator YAML をインストールする前にカスタマイズします。
Kubernetes Operator のインストール設定の詳細については、「 Operator kubernetes および oc インストール設定 」を参照してください。
注意
静的コンテナのパブリック プレビューを有効にしてセキュリティを向上および簡素化するには、「静的コンテナ(パブリック プレビュー) 」を参照してください。 この機能は、パブリック プレビュー段階で本番環境で使用することは推奨しません。
<openshift-pull-secret>ServiceAccountインストール前に、 Kubernetes Operator YAML で 定義に を追加してください。
# 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>
詳しくは、 Helm インストール設定のregistry.imagePullSecrets設定を参照してください。
Kubernetes用のMongoDB Helm Charts を使用します。
Helm 3 を使用してKubernetes Operator をインストールできます。
MongoDB Helm Charts for Kubernetesリポジトリを Helm に追加します。
helm repo add mongodb https://mongodb.github.io/helm-charts
を使用してKubernetes Operatorhelm をインストールします。
Kubernetes用のMongoDB Helm Charts のインストール:
helm install enterprise-operator mongodb/enterprise-operator \ --values https://raw.githubusercontent.com/mongodb/helm-charts/main/charts/enterprise-operator/values-openshift.yaml
値 -openshift.YAML 設定を使用します。任意のKubernetes Operator インストール設定の詳細については、Operator Helm のインストール設定を参照してください。
注意
静的コンテナのパブリック プレビューを有効にしてセキュリティを向上および簡素化するには、「静的コンテナ(パブリック プレビュー) 」を参照してください。 この機能は、パブリック プレビュー段階で本番環境で使用することは推奨しません。
Helm で特定の日次ビルドをインストール
MongoDB は毎日 Kubernetes Operator イメージを再ビルドして、最新のセキュリティと OS のアップデートを統合します。
デフォルトでは、 helmは指定したバージョンの Kubernetes Operator の最新ビルドをインストールします。
以前のビルドをインストールするには、 --set build=<build-id>を使用してパラメーターとしてビルド ID を指定します。 ビルド ID は常に-b<YYYYMMDD>T000000Zの形式で、 <YYYYMMDD>は使用するビルドが作成された日付です。
例
以下の例では、最新のイメージを使用して Kubernetes Operator をインストールする方法を示しています。
helm install enterprise-operator mongodb/enterprise-operator
以下の例では、2021 年 2 月 5 日の午前 0 時に作成されたイメージで Kubernetes Operator をインストールする方法を示しています。
helm install enterprise-operator mongodb/enterprise-operator \ --set build=-b20210205T000000Z
注意
MongoDB では、デフォルト(最新)のビルドを使用することを推奨しています。
インストールを確認します
Kubernetes Operator が正しくインストールされたことを確認するには、次のコマンドを実行し、出力を確認します。
kubectl describe deployments mongodb-enterprise-operator -n <metadata.namespace>
oc describe deployments mongodb-enterprise-operator -n <metadata.namespace>
デフォルトでは、配置はmongodb名前空間に存在します。 次のエラー メッセージが表示される場合は、正しい名前空間を使用していることを確認してください。
Error from server (NotFound): deployments.apps "mongodb-enterprise-operator" not found
Kubernetes Operator のトラブルシューティングについては、「 Kubernetes Operator からのログの確認 」やその他のトラブルシューティング トピックを参照してください。
重要
Kubernetes Operator または名前空間を削除する必要がある場合は、まずMongoDB リソースを削除する必要があります。
次のステップ
MongoDB Enterprise Kubernetes Operator をインストールすると、次のことが可能になります。