MongoDB工具 >MongoDB Kubernetes运营商 >安装操作员 >从先前版本升级Kubernetes Operator > 从运营商0.9或更早版本升级
警告
MongoDB Enterprise Kubernetes Operator的0.10版包含重大更改,并且需要一些额外的准备才能升级。以下过程概述了Kubernetes Operator 0.9及更早版本的升级过程。如果您已经在运行0.10或更高版本,请参阅从操作员0.10或更高版本升级以获取升级说明。
在Kubernetes运营商的0.10版本巩固了
MongoDbStandalone
,MongoDbShardedCluster
和
MongoDbReplicaSet
CustomResourceDefinitions成一个单一的CustomResourceDefinition
所谓的MongoDB
。
重要
以下升级过程使您可以将数据存储在Kubernetes Operator管理的先前部署的持久卷中。如果您不希望保留以前部署中的数据并计划部署新资源,请跳至“ 升级”部分。
如果尚未安装,请运行以下命令以执行创建kubectl
的名称空间中的所有
命令:
验证您.yaml
是否拥有已部署的每个MongoDB资源的配置文件。
如果您具有独立资源,但没有独立资源.yaml
,请运行以下命令来生成配置文件:
如果您具有副本集资源,但没有这些资源的.yaml
配置文件,请运行以下命令来生成配置文件:
如果您已分片群集资源,但没有.yaml
针对它们的配置文件,请运行以下命令来生成配置文件:
编辑每个.yaml
与新的CustomResourceDefinition匹配的配置文件:
更改kind
为MongoDB
添加spec.type
字段,并将它设置为Standalone
,
ReplicaSet
或ShardedCluster
根据您的资源。
注意
Kubernetes Operator不支持更改现有配置的类型,即使它会接受其他类型的有效配置。
例如,如果您的MongoDB资源是独立资源,则不能将spec.type
to 的值ReplicaSet
设置为
set spec.members
。如果这样做,那么Kubernetes Operator会抛出错误,并要求您恢复到以前的工作配置。
编辑每个.yaml
文件后,它们应类似于以下示例:
警告
如果更改该metadata.name
字段,则将丢失资源的数据。
要从v0.9或更早版本升级到最新版本的Kubernetes Operator:
以下步骤取决于您的环境的配置方式:
kubectl
:¶mongodb-enterprise.yaml
在您喜欢的文本编辑器中打开。
您可能需要添加以下一个或多个选项:
环境变量 | 何时使用 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
OPERATOR_ENV |
运营商部署环境的标签。该
可接受的值为: 默认值为: 您可以设置以下一对值: 例 |
|||||||||
WATCH_NAMESPACE |
操作员监视MongoDB Kubernetes资源更改的命名空间。如果此名称空间与默认名称空间不同,请确保操作员的ServiceAccount 可以访问 该其他名称空间。
默认值为: 重要 要在部署Kubernetes Operator 的另一个名称空间中查看Ops Manager和MongoDB Kubernetes资源,请参阅Kubernetes Operator部署范围以获取必须使用的值以及可能必须执行的其他步骤。 您可以设置以下一对值: 例 |
|||||||||
MONGODB_ENTERPRISE_DATABASE_IMAGE |
URL MongoDB的企业数据库图像Kubernetes运营商部署的。 默认值为
例 |
|||||||||
IMAGE_PULL_POLICY |
Kubernetes Operator部署的MongoDB Enterprise数据库映像的拉出策略。 可接受的值是 默认值为 例 |
|||||||||
OPS_MANAGER_IMAGE_REPOSITORY |
从中下载Ops Manager资源的图像的存储库的URL。 默认值为
例 |
|||||||||
OPS_MANAGER_IMAGE_PULL_POLICY |
Kubernetes Operator部署的Ops Manager镜像的拉取策略。 可接受的值是: 默认值为 例 |
|||||||||
INIT_OPS_MANAGER_IMAGE_REPOSITORY |
从存储库的URL,可以从该存储库下载包含Ops Manager启动脚本和就绪探测器的initContainer映像。 默认值为
例 |
|||||||||
INIT_OPS_MANAGER_VERSION |
包含Ops Manager启动脚本和就绪探测器的initContainer映像的版本。 默认值为 例 |
|||||||||
APPDB_IMAGE_REPOSITORY |
从中下载应用程序数据库映像的存储库的URL。 默认值为
例 |
|||||||||
INIT_APPDB_IMAGE_REPOSITORY |
从中下载包含应用程序数据库启动脚本和就绪探测器的initContainer映像的存储库的URL。 默认值为
例 |
|||||||||
INIT_APPDB_VERSION |
包含Ops Manager启动脚本和就绪探测器的initContainer映像的版本。 默认值为 例 |
helm
命令升级Kubernetes Operator :¶您可以在安装前自定义头盔图。要对其进行修改,请向values.yaml
文件添加以下一个或多个选项:
设置 | 何时使用 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
namespace |
要使用其他名称空间,您需要指定
默认值为: 例 |
|||||||||
operator.env |
运营商部署环境的标签。该
可接受的值为: 默认值为: |