升级 MongoDB Enterprise Kubernetes Operator
在此页面上
以下过程概述了如何将Kubernetes Operator升级到最新版本。 此升级进程与Kubernetes Operator 安装进程并行。
升级在Kubernetes中运行的MongoDB Enterprise Kubernetes Operator
注意
自始至终使用相同的命名空间
默认,Kubernetes Kubernetes OperatorKubernetes集群中的所有资源部署到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 Helm 安装设置。
使用 适用于Kubernetes的MongoDB Helm Charts 。
更新到最新版本的MongoDB Helm Charts for Kubernetes 。
运行以下命令,检查当前 Helm 模板的版本:
helm search repo mongodb/enterprise-operator
如果当前安装的版本不是最新版本,请运行以下命令来更新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 install enterprise-operator mongodb/enterprise-operator
您可以传递--namespace
和--namespace-create
标志,将Kubernetes Operator部署到非默认命名空间,如下所示:
helm install enterprise-operator mongodb/enterprise-operator \ --namespace mongodb \ --create-namespace
升级在OpenShift中运行的MongoDB Enterprise Kubernetes Operator
以下步骤取决于环境的配置方式:
注意
自始至终使用相同的命名空间
默认, 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 ...
在升级Kubernetes Operator YAML 之前对其进行自定义。
为避免破坏性更改,应确保选择与现有部署中的设置相同的设置。 要学习;了解可选的 Kubernetes Operator 安装设置,请参阅Operator Helm 安装设置。
您必须将<openshift-pull-secret>
添加到ServiceAccount
定义中:
# 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>
升级到新版本的 Kubernetes 操作符。
填充<version>
占位符并运行以下 oc :
oc apply -f https://raw.githubusercontent.com/mongodb/mongodb-enterprise-kubernetes/<version>/mongodb-enterprise-openshift.yaml
升级MongoDB部署的 CustomResourceDefinitions。
运行以下 oc 命令:
填充<version>
占位符并运行以下 oc 命令将所选版本的 CRD部署到Kubernetes集群:
oc apply -f https://raw.githubusercontent.com/mongodb/mongodb-enterprise-kubernetes/<version>/crds.yaml
更新到最新版本的MongoDB Helm Charts for Kubernetes 。
运行以下命令,检查当前 Helm 模板的版本:
helm search repo mongodb/enterprise-operator
如果当前安装的版本不是最新版本,请运行以下命令来更新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 install enterprise-operator mongodb/enterprise-operator
您可以传递--namespace
和--namespace-create
标志,将Kubernetes Operator部署到非默认命名空间,如下所示:
helm install enterprise-operator mongodb/enterprise-operator \ --namespace mongodb \ --create-namespace
要对 Kubernetes 操作符进行故障排除,请参阅查看 Kubernetes 操作符的日志和其他故障排除主题。
重要
如果需要删除 Kubernetes 操作符 或命名空间,则必须首先删除 MongoDB 资源。
验证安装
要验证 Kubernetes 操作符是否正确安装,请运行以下命令并验证输出:
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 操作符进行故障排除,请参阅查看 Kubernetes 操作符的日志和其他故障排除主题。
重要
如果需要删除 Kubernetes 操作符 或命名空间,则必须首先删除 MongoDB 资源。
后续步骤
升级MongoDB Enterprise Kubernetes Operator 后,您可以: