次の手順では、Kubernetes Operator を最新バージョンにアップグレードする方法の概要を説明します。 このアップグレード プロセスは、Kubernetes Operator のインストール プロセスと並行して行われます。
Kubernetesで実行されているKubernetes Operator 用のMongoDBコントロールのアップグレード
注意
全体で同じ名前空間を使用する
デフォルトでは 、 Kubernetes Operator はKubernetesクラスター内のすべてのリソースを 名前空間 mongodb に配置します。mongodb-kubernetes.yaml で metadata.namespace のすべての値を編集することで、 Kubernetes Operator リソースを別の名前空間に配置できます。
apiVersion: v1 kind: ServiceAccount metadata: name: mongodb-kubernetes-operator namespace: production apiVersion: apps/v1 kind: Deployment metadata: name: mongodb-kubernetes-operator namespace: production # Example truncated ...
アップグレードする前に、 Kubernetes Operator YAML をカスタマイズしてください。
必要な場合は、 GitHubリポジトリで、選択したバージョンのKubernetes Operator に適した例配置の YAMLファイルを見つけます。次に、重大な変更を避けるために、現在配置されているKubernetes Operator の構成の詳細と一致するように例YAMLファイルをカスタマイズします。
Kubernetes Operator の新しいバージョンにアップグレードします。
次の手順を実行中て、カスタマイズされたKubernetes Operator を配置します。
kubectl apply -f <customized-operator-yaml-file>.yaml
提供された配置 YAML を変更する必要がない場合は、次のようにそれを直接適用できます。
マルチクラスター
kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-enterprise-kubernetes/1.5.0/mongodb-enterprise-multi-cluster.yaml
シングルクラスター
kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-enterprise-kubernetes/1.5.0/public/mongodb-kubernetes.yaml
Kubernetes用のMongoDB Helm Charts を使用します。
MongoDB Helm Charts for Kubernetesの最新バージョンに更新します。
現在の Helm テンプレートのバージョンを確認するには、次のコマンドを実行します。
helm search repo mongodb/mongodb-kubernetes
現在インストールされているバージョンが最新リリースでない場合は、次のコマンドを実行して Helm リポジトリを更新します。
helm repo update mongodb
Helm リポジトリがローカルにインストールされていない場合は、次のコマンドを実行してインストールできます。
helm repo add mongodb https://mongodb.github.io/helm-charts
アップグレードする前に、 Helm Chart をカスタマイズ してください。
重大な変更を避けるため、既存の配置の設定と同じ設定を選択していることを確認する必要があります。 任意の Kubernetes Operator インストール設定について詳しくは、「 Operator Helm のインストール設定 」を参照してください。
Kubernetes Operator をアップグレードします。
次のhelmコマンドを実行して、Kubernetes Operator を Kubernetes クラスター内のデフォルトの名前空間に配置します。
helm upgrade --install mongodb-kubernetes-operator mongodb/mongodb-kubernetes
次のように、 --namespaceと--namespace-createフラグを渡して、Kubernetes Operator をデフォルト以外の名前空間に配置できます。
helm upgrade --install mongodb-kubernetes-operator mongodb/mongodb-kubernetes \ --namespace mongodb \ --create-namespace
OpenShiftで実行されているKubernetes Operator 用のMongoDBドライバーのアップグレード
次の手順は、環境の構成方法によって異なります。
注意
全体で同じ名前空間を使用する
デフォルトでは、Kubernetes Operator はKubernetesクラスター内のすべてのリソースを名前空間 mongodb に配置します。mongodb-kubernetes-openshift.yaml で metadata.namespace のすべての値を編集することで、 Kubernetes Operator リソースを別の名前空間に配置できます。
apiVersion: v1 kind: ServiceAccount metadata: name: mongodb-kubernetes-operator namespace: production apiVersion: apps/v1 kind: Deployment metadata: name: mongodb-kubernetes-operator namespace: production # Example truncated ...
Kubernetes Operator YAML はアップグレードする前にカスタマイズしてください。
重大な変更を避けるため、既存の配置の設定と同じ設定を選択していることを確認する必要があります。 任意の Kubernetes Operator インストール設定の詳細については、「 Operator Helm のインストール設定 」を参照してください。
以下のように、 <openshift-pull-secret>をServiceAccountの定義に追加する必要があります。
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>
MongoDB配置の CustomResourceDefinitions をアップグレードします。
次の OC コマンドを実行します。
次の OC コマンドを実行して、選択したバージョンの CRD をKubernetesクラスターに配置します。
oc apply -f https://raw.githubusercontent.com/mongodb/mongodb-kubernetes/1.5.0/public/crds.yaml
Kubernetes Operator の新しいバージョンにアップグレードします。
次の oc コマンドを実行して、選択したバージョンのKubernetes Operator をKubernetesクラスターに配置します。
oc apply -f https://raw.githubusercontent.com/mongodb/mongodb-kubernetes/1.5.0/public/mongodb-kubernetes-openshift.yaml
MongoDB Helm Charts for Kubernetesの最新バージョンに更新します。
現在の Helm テンプレートのバージョンを確認するには、次のコマンドを実行します。
helm search repo mongodb/mongodb-kubernetes
現在インストールされているバージョンが最新リリースでない場合は、次のコマンドを実行して Helm リポジトリを更新します。
helm repo update mongodb
Helm リポジトリがローカルにインストールされていない場合は、次のコマンドを実行してインストールできます。
helm repo add mongodb https://mongodb.github.io/helm-charts
アップグレードする前に、 Helm Chart をカスタマイズ してください。
重大な変更を避けるため、既存の配置の設定と同じ設定を選択していることを確認する必要があります。 任意の Kubernetes Operator インストール設定の詳細については、「 Operator Helm のインストール設定 」を参照してください。
Kubernetes Operator をアップグレードします。
次のhelmコマンドを実行して、Kubernetes Operator を Kubernetes クラスター内のデフォルトの名前空間に配置します。
helm upgrade --install mongodb-kubernetes-operator mongodb/mongodb-kubernetes
次のように、 --namespaceと--namespace-createフラグを渡して、Kubernetes Operator をデフォルト以外の名前空間に配置できます。
helm upgrade --install mongodb-kubernetes-operator mongodb/mongodb-kubernetes \ --namespace mongodb \ --create-namespace
Kubernetes Operator のトラブルシューティングについては、「 Kubernetes Operator からのログの確認 」やその他のトラブルシューティング トピックを参照してください。
重要
Kubernetes Operator または名前空間を削除する必要がある場合は、まずMongoDB リソースを削除する必要があります。
インストールを確認します
Kubernetes Operator が正しくインストールされたことを確認するには、次のコマンドを実行し、出力を確認します。
kubectl describe deployments mongodb-kubernetes-operator -n <metadata.namespace>
oc 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 リソースを削除する必要があります。
次のステップ
MongoDB Controls for Kubernetes Operator をアップグレードすると、次のことが可能になります。