Docs 菜单
Docs 主页
/
MongoDB Enterprise Kubernetes Operator

MongoDB Enterprise Kubernetes Operator 发布说明

在此页面上

已发布2024 - 08 - 27

  • 代理启动器:修复了在某些重新同步情况下, /journal中的日志数据可能已损坏的问题。现在,助手可确保不存在冲突的日志数据,并优先处理来自/data/journal的数据。要停用此行为,请将 Kubernetes Operator 中的环境变量MDB_CLEAN_JOURNAL设置为1以外的任何值。

  • MongoDBAppDBMongoDBMulti资源:修复了一个问题,确保在connectionString中使用外部域(如果配置)。

  • MongoDB资源:如果您提供的 Horizon 配置短于成员数量,则会删除紧急响应。现在,在这种情况下,Kubernetes Operator 会在 MongoDB 资源状态中发出描述性错误。

  • MongoDB资源:修复了以下问题:在以另一个项目前缀命名的新项目中创建资源时会失败,从而导致无法创建 MongoDB 资源。

已发布2024 - 06 - 21

  • 提高 CPU 利用率和 Kubernetes Operator 的垂直扩展,并允许您控制 Kubernetes Operator 可以并行执行的协调数量,从而更快地协调所有托管资源。

    您可以为 Kubernetes Operator 部署设置MDB_MAX_CONCURRENT_RECONCILES ,或在 Kubernetes Operator 安装 Helm 图表中设置operator.maxConcurrentReconciles 。如果未提供,则默认值为1 。控制协调数量的功能可能会导致 Ops Manager 和 Kubernetes API Server 在同一时间窗口内的负载增加。观察 Kubernetes Operator 资源使用情况,并根据需要调整operator.resources.requestsoperator.resources.limits 。要了解更多信息,请参阅 Kubernetes 文档中的 Pod和容器的资源管理

  • 添加了对 OpenShift 4的支持。 15 。要了解更多信息,请参阅MongoDB Enterprise Kubernetes Operator 兼容性。

  • 添加了operator.maxConcurrentReconciles参数,该参数允许您控制 Kubernetes Operator 可以并行执行的协调数量。默认值为1 。

  • 添加了Operator.webhook.installClusterRole参数,用于控制是否安装集群角色,从而允许 Kubernetes Operator 配置准入 Webhook。如果不允许使用集群角色,请将此参数设置为false 。默认值为true

  • MongoDB资源:修复了一个错误:在spec.agent.startupOptions中配置具有多个条目的 MongoDB 资源会导致底层StatefulSet进行额外不必要的调节。

  • MongoDB、MongoDBMultiCluster资源:修复了 Kubernetes Operator 无法监控为 MongoDB 助手身份验证配置的 X- 509证书更改的错误。

  • MongoDB 资源:修复了以下错误:如果传递给 MongoDBfalse 助手的布尔标志的默认值为 ,则无法将其设置为true

已发布2024 - 04 - 30

  • MongoDBOpsManager资源。 Kubernetes Operator 不再支持MongoDB Ops Manager 5.0。 升级到更高版本的MongoDB Ops Manager 。 虽然MongoDB Ops Manager5.0 可能会继续与Kubernetes Operator 配合使用,但MongoDB KubernetesMongoDB Ops Manager5.0不会针对 测试 Operator。

  • MongoDBOpsManager 资源:新增对在多个MongoDB Ops Manager Kubernetes集群上部署 应用程序的支持。要了解更多信息,请 参阅在多个 MongoDB Ops Manager集群上部署Kubernetes 资源。

  • (公共预览版) MongoDBOpsManager资源:为所有类型的部署引入可选的静态容器(公共预览版)

    • 在此版本中,仅将静态容器用于测试目的。 静态容器可能会成为后续版本中的默认容器。

    • 要激活静态容器模式,请将 Kubernetes Operator 级别的MDB_DEFAULT_ARCHITECTURE环境变量设置为static 。或者,使用mongodb.com/v1.architecture: "static"注释特定的MongoDBOpsManager自定义资源。

    • Kubernetes Operator 支持静态和非静态架构之间的无缝迁移。 要了解详情,请参阅:

  • OpsManager资源:添加spec.internalConnectivity字段以允许覆盖 Kubernetes Operator 所使用的服务,从而确保与OpsManager资源托管 Pod 的内部连接。

  • MongoDB资源:您可以恢复由于分片集群中的自动化配置损坏而导致的资源。 在以前的版本中,您可以恢复其他类型的资源,但不能恢复分片集群。 要了解更多信息,请参阅恢复因自动化配置损坏而导致的资源。

  • MongoDBMongoDBMultiCluster资源:这些资源现在允许您在外部服务中添加占位符。

    • 您可以定义 注解 用于 Kubernetes Operator 管理的外部服务,其中包含占位符,这些占位符将自动替换为正确的值。以前,Kubernetes Operator 会为每个 Pod 创建的所有外部服务配置相同的注释。从此版本开始,您可以添加占位符,以便 Kubernetes Operator 可以使用与每个特定 Pod 相关且唯一的值在每个服务中自定义注解。要了解详情,请参阅:

  • kubectl mongodb插件:允许您在使用该插件时打印版本信息。

  • kubectl mongodb插件的setup命令:添加registry.imagePullSecrets设置。如果指定,创建的服务帐户将引用imagePullSecrets字段上的指定密钥。

  • 改进了以下情况下的配置处理:Kubernetes Operator 监控多个命名空间,以及您将 Kubernetes Operator 安装在与 Kubernetes Operator 监控资源的命名空间不同的命名空间中。

  • 使用每个 Kubernetes 集群使用单个服务帐户,优化成员 Kubernetes 集群中的角色和权限设置,并为每个受监视的命名空间正确配置角色和角色绑定(不需要集群角色)。

  • 通过每24小时触发一次的基于时间的核对,扩展现有的基于事件的核对流程。 这可确保所有监控代理始终及时升级。

  • OpenShift 和 OLM Operator:删除了对集群范围权限的要求。 以前,Kubernetes Operator 需要这些权限来配置准入 Webhook。 从此版本开始,Webhook 由 OLM 自动配置。

  • 为 Kubernetes Operator 添加可选的MDB_WEBHOOK_REGISTER_CONFIGURATION环境变量。 该变量控制 Kubernetes Operator 是否应执行自动准入 Webhook 配置。 默认值为true 。 对于 OLM 和 OpenShift 部署,该变量设置为false

  • 将默认值agent.version更改为107.0.0.8502-1 。 这会更改使用 Helm Chart 安装的 Kubernetes Operator 部署中使用的默认代理。

  • 添加operator.additionalArguments变量(默认值为[] ,以允许您为 Kubernetes Operator 二进制文件传递其他参数。

  • 添加operator.createResourcesServiceAccountsAndRoles变量(默认值为true ,以控制是否为MongoDBOpsManager资源安装角色和服务帐号。 当您使用kubectl mongodb插件为多 Kubernetes 集群部署配置 Kubernetes Operator 时,该插件会安装所有必要的角色和服务帐户。 因此,为避免冲突,在某些情况下,请勿使用 Kubernetes Operator Helm 图表安装这些角色。

  • MongoDBMultiCluster资源:修复了 Kubernetes Operator 报告spec.externalAccess.externalDomainspec.clusterSpecList[*].externalAccess.externalDomains字段为必填字段(即使未使用)的问题。 如果自定义资源包含已定义的spec.externalAccess结构,Kubernetes Operator 会过早触发对这些字段的验证。 从此版本开始,仅当您在spec.externalAccess.externalDomainspec.clusterSpecList[*].externalAccess.externalDomains设置中定义外部域时,Kubernetes Operator 才会检查外部域的唯一性。

  • MongoDB资源:修复了一个错误:删除 MongoDB 资源后,相关MongoDB Ops Manager或Cloud Manager实例上仍保留设置的 controlledFeature 策略,导致在丢失Kubernetes Operator 时无法在用户界面中进行清理。

  • OpsManager资源:修复了删除OpsManager自定义资源时admin-key密钥被删除的问题。 修复 admin-key 密钥删除问题可以更轻松地重新安装MongoDB Ops Manager 。

  • MongoDB 就绪探针:修复了就绪探针的误导性错误消息: "... kubelet Readiness probe failed:..." 。 这会影响所有 MongoDB 部署。

  • Operator :修复了在某些情况下,在与OpsManager自定义资源通信时 Kubernetes Operator 跳过 TLS 验证(即使您启用了 TLS)的情况。

  • Kubectl 插件 :现已对已发布的kubectl mongodb 插件二进制文件进行签名,并且签名与 发布资产 一起发布 。可以在此地址获取公钥。 已发布的kubectl mongodb插件二进制文件也针对 MacOS 进行了公证。

  • 已发布映像已签名:为 Kubernetes Operator 发布的所有容器映像均经过加密签名。 这在 MongoDB Quay 注册表。您可以使用 MongoDB 公钥验证签名。 可通过此地址获取已发布的映像。

已发布2023 - 12 - 21

  • 添加了对即将发布的MongoDB Ops Manager 7.0.x 的支持 系列。

  • 修复无法正确终止备份的问题。

发布日期:2023 年 11 月 13 日

  • 修复当成员集群失去连接时,在多 Kubernetes 集群 MongoDB 部署中扩展副本集的问题。 该修复涉及手动和自动恢复过程。

  • 修复更改自动化代理和 MongoDB 审核日志的名称导致它们无法发送到 Kubernetes Pod 日志的问题。从 Kubernetes Operator 1.22 开始,MongoDB 审核日志的文件名没有限制。

  • 允许以下新日志类型从 mongodb-enterprise-database 容器直接流式传输到 Kubernetes 日志:

    • agent-launcher-script

    • monitoring-agent

    • backup-agent

  • 修复了无法将 MongoDBUser 资源存储在 spec.mongodbResourceRef.namespace 中设置的命名空间中的问题。

发布日期:2023 年 9 月 21 日

Kubernetes Operator 不再对所有自定义资源使用 Reconciling 状态。大多数情况下,此状态已替换为 Pending 和相应的消息。如果将监控工具与通过 Kubernetes Operator 部署的自定义 MongoDB 资源结合使用,您可能需要调整仪表盘和警报规则才能使用 Pending 状态名称。

  • 通过将以下新字段添加到 资源,添加对在应用程序数据库的 助手上配置 logRotate MongoDB AgentMongoDBOpsManager的支持:

    • spec.applicationDatabase.agent.logRotate

    • spec.applicationDatabase.agent.logRotate.numTotal

    • spec.applicationDatabase.agent.logRotate.numUncompressed

    • spec.applicationDatabase.agent.logRotate.percentOfDiskspace

    • spec.applicationDatabase.agent.logRotate.sizeThresholdMB

    • spec.applicationDatabase.agent.logRotate.timeThresholdHrs

  • 现在,您可以使用MongoDBOpsManager资源中的以下新字段配置系统日志,将日志发送到默认/var/log/mongodb-mms-automation目录以外的自定义位置:

  • 改进了多 Kubernetes 集群 MongoDB 部署中应用程序数据库集群的处理。

    在上个版本中,为了缩小进程,Kubernetes Operator 需要连接到 Kubernetes 集群。由于全集群宕机,这可能会阻碍协调进程。

    在此版本中,Kubernetes Operator 可以成功管理剩余的健康集群,前提是它们拥有多数投票来选举主节点。Kubernetes Operator 不会从自动化配置和副本集配置中删除关联的进程。仅当您从 spec.applicationDatabase.clusterSpecList 中删除相应集群或将集群节点数更改为 0 时,Kubernetes Operator 才会删除这些进程。当 Kubernetes Operator 删除这些进程时,它会通过一次删除一个与该集群关联的进程来缩小副本集。

  • 当自定义资源长时间处于 Pending(待处理)或 Failed(已失败)状态时,为 MongoDB 资源添加自动恢复机制。此外,还引入以下环境变量:

    要了解更多信息,请参阅恢复因自动化配置损坏而造成的资源损失

  • 允许您将 MongoDB 资源的审核日志路由到 Kubernetes Pod 日志。确保将 MongoDB 资源的审核日志写入 /var/log/mongodb-mms-automation/mongodb-audit.log 文件。托管资源的 Pod 监控此文件并将内容附加到其 Kubernetes 日志中。

    要将审核日志发送到 Kubernetes Pod 日志,请在 MongoDB 资源中使用以下示例配置:

    spec:
    additionalMongodConfig:
    auditLog:
    destination: file
    format: JSON
    path: /var/log/mongodb-mms-automation/mongodb-audit.log

    Kubernetes Operator 在 Pod 日志中使用 mongodb-audit 键标记审核日志条目。

    要提取审核日志条目,请使用与以下示例类似的命令:

    kubectl logs -c mongodb-enterprise-database replica-set-0 | \
    jq -r 'select(.logType == "mongodb-audit") | .contents'

修复了无法针对分片群集将 spec.backup.autoTerminateOnDeletion 设置设置为 true 的问题。此设置控制在您删除 MongoDB 资源时 Kubernetes Operator 是否停止并终止备份。如果省略,则默认值为 false

发布日期:2023 年 8 月 25 日

  • 将环境变量 CURRENT_NAMESPACE 重命名为 NAMESPACE。该变量追踪 Kubernetes Operator 的命名空间。如果您通过编辑 MongoDB 资源设置此变量,请在升级 Kubernetes Operator时将 CURRENT_NAMESPACE 更新为 NAMESPACE

  • 修复 StatefulSet 重写标签无法重写 StatefulSet 的问题。

  • 支持为 MongoDBMultiCluster 资源配置应用程序数据库和 MongoDB 的备份。

  • 添加有关在 GitOps 环境中配置 MongoDBMultiCluster 资源部署的文档。要了解更多信息,请参阅“为 GitOps 配置资源”。

  • MetadataWrapper(标签和注解包装器)添加到 MongoDB 资源、MongoDBMultiCluster 资源和 MongoDBOpsManager 资源。包装器支持重写 metadata.Labelsmetadata.Annotations

  • 修复了使用 LoadBalancer 服务类型向外部公开 Ops Manager 时无法为 spec.externalConnectivity.port 设置任意端口号的问题。

  • 通过允许 Kubernetes Operator 将 appdb-ca(CA 捆绑包)导入 Ops Manager JVM 信任存储中,修复导致 Ops Manager 拒绝证书的问题。

发布日期:2023 年 06 月 07 日

此版本修复了无法在 OpenShift 中将 Kubernetes Operator 升级到 1.20.0 的问题。

  • 删除超过两年前已弃用的 appdb.connectionSpec.Project

  • 修复 MongoDBMultiCluster 资源无法监视 Ops Manager 的连接 ConfigMap 和密钥的问题。

  • 修复对轮换 clusterfile 密钥的支持,该密钥用于 MongoDBMongoDBMultiCluster 资源中的内部 X.509 身份验证。

  • 通过引入 spec.applicationDatabase.memberConfig.votesspec.applicationDatabase.memberConfig.priorityspec.applicationDatabase.memberConfig.tags 设置添加对投票、优先级和标签的支持。

  • 将应用程序数据库映像的容器注册表从 quay.io/mongodb/mongodb-enterprise-appdb-database-ubi 更改为 quay.io/mongodb/mongodb-enterprise-server。升级到此版本时,会导致以下更改:

    • 应用程序数据库映像 values.mongodb.name 的 Helm Charts 设置默认为 mongodb-enterprise-server

    • Kubernetes Operator 更新应用程序数据库副本集 Pod,以使用 values.mongodb.name Helm 设置中引用的新映像。假设 MongoDB 版本相同,新映像在功能上与之前的映像相同。

    • Kubernetes Operator 会自动将引用新容器注册表的所有应用程序数据库映像的标签后缀从 -ent 更新为 -ubi8,或者更新为 MDB_IMAGE_TYPEmongodb.imageType 中设置的后缀。例如,Kubernetes Operator 将 quay.io/mongodb/mongodb-enterprise-server:4.4.5-ent 更改为 quay.io/mongodb/mongodb-enterprise-server:4.4.5-ubi8。您无需更新 MongoDBOpsManager 资源中的 applicationDatabase.version 设置。

    • 可以将 MDB_APPDB_ASSUME_OLD_FORMATmongodb.appdbAssumeOldFormat 设置为 true,阻止 Kubernetes Operator 自动更新标签后缀。例如,如果要从自己的存储库镜像此映像,则可能需要停止自动更改后缀。

  • 添加了对在 spec.applicationDatabase.version 中指定不带后缀的版本的支持。例如,您可以指定版本,例如 6.0.5,而不添加 -ubi8 后缀。Kubernetes Operator 会自动将其转换为 6.0.5-${MDB_IMAGE_TYPE}MDB_IMAGE_TYPE 环境变量的默认值为 -ubi8

  • 将所有镜像更改为默认引用 UBI 变体。新镜像的后缀为 -ubi

    • quay.io/mongodb/mongodb-enterprise-database-ubi

    • quay.io/mongodb/mongodb-enterprise-init-database-ubi

    • quay.io/mongodb/mongodb-enterprise-ops-manager-ubi

    • quay.io/mongodb/mongodb-enterprise-init-ops-manager-ubi

    • quay.io/mongodb/mongodb-enterprise-init-appdb-ubi

    • quay.io/mongodb/mongodb-agent-ubi

    • quay.io/mongodb/mongodb-enterprise-appdb-database-ubi

  • 默认情况下,将 values.mongodb.name 设置为 quay.io/mongodb/mongodb-enterprise-server,即默认应用程序数据库映像存储库使用官方 MongoDB Enterprise 存储库。

  • 引入 values.mongodb.imageType 环境变量来重写 MongoDBOpsManager 资源使用的新的默认 -ubi8 应用程序数据库映像标签后缀。

发布日期:2023 年 06 月 07 日

警告

升级至 1.20.1

此版本 (1.20.0) 与 Openshift Marketplace 上的一个损坏版本相关。不要升级到 1.20.0,而是升级到 1.20.1 版本。

发布日期:2023 年 3 月 30 日

此版本修复了导致 Kubernetes Operator 无法升级到 1.19.0 的问题。升级到此版本。

data.orgId 设为 MongoDB 资源的 ConfigMap 的必填字段。如果您提供空的 orgId,例如:orgId = "",Ops Manager 会使用项目名称创建组织。在将 Kubernetes Operator 升级到 1.19.1 之前,请在 Ops Manager ConfigMap 中设置 orgId:"" 并重新应用。

  • 引入多 Kubernetes 集群 MongoDB 部署。要了解更多信息,请参阅在多个 Kubernetes 集群上部署 MongoDB 资源。

    KubernetesMongoDBbetaKubernetesMongoDB与Kubernetes Operator1.18 .x 中的多 集群 部署支持的 版本相比,对多 集群 部署支持进行了以下更改:

    • 将 Beta 版本中的 MongoDBMulti 资源重命名为 MongoDBMultiCluster 资源。

    • MongoDBMultiCluster 资源的快捷方式名称重命名为 mdbmc。在 MongoDBMultiCluster 资源上的所有命令中使用此快捷方式名称。例如,要检查 MongoDBMultiCluster 资源的状态,请运行:

      kubectl get mdbmc <resource-name> -o yaml -w
    • 将“多集群 CLI”工具重命名为“kubectl mongodb 插件”。要了解更多信息,请参阅 MongoDB 插件参考

    • MongoDBMultiCluster 资源规范的 clusterSpecList 中删除不必要的中间对象 clusterSpecs。有关 MongoDBMultiCluster 资源配置文件的有效示例,请参阅“Kubernetes 多集群资源规范”。

  • 添加了对 Kubernetes 1.26 和 OpenShift 4.12 的支持。如需更多信息,请参阅 MongoDB Enterprise Kubernetes Operator 兼容性

  • 允许您通过在每个分片的 spec.shardSpecificPodSpec 设置下指定一个 podSpecs 数组,为 MongoDB 分片集群中的每个分片配置 podSpec

  • data.orgId 设为 MongoDB 资源的 ConfigMap 的必填字段。如果您提供空的 orgId,例如:orgId = " ",Ops Manager 会使用项目名称创建组织。

  • 添加多 Kubernetes 集群资源规范的文档。

  • 将 Kubernetes Operator 的常见问题添加到文档中。

  • 添加在 Kubernetes Operator MongoDB 部署中配置文件系统备份存储的文档。

  • 修复多 Kubernetes 集群 MongoDB 部署的WATCH_NAMESPACE='*'环境变量的处理。 在以下情况下,成员集群的 API 客户端配置不正确,导致部署错误:

    • 为多 Kubernetes 集群 MongoDB 部署指定了WATCH_NAMESPACE='*'环境变量。

    • kubeconfig 中为成员集群设置了特定命名空间。

    • kubectl mongodb插件不用于配置多 Kubernetes 集群 MongoDB 部署。

    这会导致以下错误:

    The secret object 'mdb-multi-rs-cert' does not contain all the valid
    certificates needed: secrets "mdb-multi-rs-cert-pem" already exists

    要避免此问题,请将WATCH_NAMESPACE环境变量设置为特定命名空间,而不是'*' ,并验证节点集群的kubeconfig设置是否未指定命名空间。 要为多 Kubernetes 集群 MongoDB 部署设置命名空间,请参阅设置部署的范围MongoDB 插件参考。

  • 修复设置了 CertificatesSecretsPrefix(证书)但未提供相关的 spec.security.tls 设置(例如 tls.additionalCertificateDomainstls.ca)的问题。

  • 修复允许您在不使用 TLS 时为 spec.security.authentication.ldap.transportSecurity 显式指定 none 值的问题。以前,当您省略该值且未指定 tls 值时,Kubernetes Operator 会将此设置视为 none,但 Kubernetes Operator 不允许您显式指定 none 值。

发布日期:2023 年 3 月 28 日

警告

请勿升级到 1.19.0。相反,升级到 1.19.1

此版本与 Openshift Marketplace 上的一个损坏版本相关。不要升级到此版本 (1.19.0),而是升级到 Kubernetes Operator 1.19.1 版本。

该版本移除了基于 Ubuntu 的映像。在 1.17.0 中,Kubernetes Operator 中基于 Ubuntu 的映像已被弃用,取而代之的是基于 UBI 的映像。将 Kubernetes Operator 从基于 Ubuntu 的映像迁移到基于 UBI 的映像。所有基于 Ubuntu 的现有映像将继续得到支持,直到其版本的生命周期结束(EOL)日期

发布日期:2022 年 12 月 29 日

  • 修复以下问题:配置活性探测器并在终止 MongoDB 助手进程时报告阳性结果。这可能会导致托管 MongoDB 资源的 Pod 在没有 MongoDB 助手的情况下运行。除了此修复之外,请考虑配置就绪情况探测器覆盖

  • 修复数据库 Pod 中的启动脚本,该脚本可能会在 Pod 重启时报告错误。

发布日期:2022 年 10 月 18 日

  • 修复了v 1.17.1发布说明中提到的 OpenShift 安装问题。 Kubernetes Operator Lifecycle Manager 升级图表会自动跳过 v 1.17.1版本并执行从 v 1升级。 17 。 0 直接访问此版本。

  • 通过为具有某些默认值的 MongoDB 和 OpsManager 自定义资源添加启动探测器,提高升级的可靠性。使用 spec.podSpec.podTemplate 覆盖探测器配置。

发布日期:2022 年 10 月 10 日

警告

OpenShift 的安装

此版本的 quay.io 无效 认证包的 CSV 中引用的摘要。当您从 quay.io 的认证捆绑包 (OperatorHub) 安装或升级 Kubernetes Operator 时,这只会影响 OpenShift 部署。

如果您将 Kubernetes Operator 与 OpenShift 结合使用,我们建议不要升级到此版本 (v1.17.1),而是升级到 Kubernetes Operator v1.17.2,该版本将于 2022 年 10 月 17 日开始的一周发布。

由于此问题,安装此版本可能会导致托管 Ops Manager 数据库 AppDB 的 Pod 出现 ImagePullBackOff 错误。错误如下所示:

Failed to pull image "quay.io/mongodb/mongodb-agent-ubi@sha256:a4cadf209ab87eb7d121ccd8b1503fa5d88be8866b5c3cb7897d14c36869abf6": rpc error: code = Unknown desc = reading manifest sha256:a4cadf209ab87eb7d121ccd8b1503fa5d88be8866b5c3cb7897d14c36869abf6 in quay.io/mongodb/mongodb-agent-ubi: manifest unknown: manifest unknown

要继续使用 Kubernetes Operator v1.17.1,请使用以下解决方法并使用以下 spec.config.env 更新 Kubernetes Operator 订阅:

spec:
config:
env:
- name: AGENT_IMAGE
value: >-
quay.io/mongodb/mongodb-agent-ubi@sha256:ffa842168cc0865bba022b414d49e66ae314bf2fd87288814903d5a430162620
- name: RELATED_IMAGE_AGENT_IMAGE_11_0_5_6963_1
value: >-
quay.io/mongodb/mongodb-agent-ubi@sha256:e7176c627ef5669be56e007a57a81ef5673e9161033a6966c6e13022d241ec9e
- name: RELATED_IMAGE_AGENT_IMAGE_11_12_0_7388_1
value: >-
quay.io/mongodb/mongodb-agent-ubi@sha256:ffa842168cc0865bba022b414d49e66ae314bf2fd87288814903d5a430162620
- name: RELATED_IMAGE_AGENT_IMAGE_12_0_4_7554_1
value: >-
quay.io/mongodb/mongodb-agent-ubi@sha256:3e07e8164421a6736b86619d9d72f721d4212acb5f178ec20ffec045a7a8f855

安装新的 Kubernetes Operator v1.17.2 后立即删除此解决方法。

此版本具有以下额外重大更改:

  • 从 Kubernetes Operator Helm 图表中删除 operator.deployment_name 参数。在以前的版本中,您可能已使用此参数自定义 Kubernetes Operator 容器的名称。

    从此版本开始,operator.name Helm 图表参数的值决定 Kubernetes Operator 容器的名称。

    仅当您将 operator.deployment_name 设置为与 operator.name 不同的值并且将工具配置为依赖于 operator.deployment_name 的值时,这才是重大更改。

  • 在 OpenShift 上使用了 Quay 作为 Kubernetes Operator 的映像注册表。升级 Kubernetes Operator 部署时,它会自动从 Quay 拉取新映像。您无需采取任何行动。

发布日期:2022 年 9 月 19 日

此版本:

发布日期:2022 年 8 月 3 日

  • Init-Ops-Manager 和 Operator 二进制文件现在使用 Go 1.18.4,解决了安全问题。

发布日期:2022 年 7 月 15 日

  • 修复以下错误:在 Pod 级别定义的 securityContext 不受尊重,因为 Kubernetes Operator 在容器级别使用 securityContext 覆盖它。要了解详情,请参阅 spec.persistent 设置的说明。

  • spec.security.authentication.ldap 对象添加 timeoutMSuserCacheInvalidationInterval 字段。

  • 修复配置 ShardedCluster 资源时忽略 mongosconfigSrvshard 对象的 additionalMongodConfig.net.tls.mode 设置的行为。

发布日期:2022 年 6 月 28 日

警告

重大更改

此版本删除了 WiredTiger 缓存计算,这是 4.0.9 之前的 MongoDB 版本的必要设置。在升级到此版本之前,您必须升级数据库部署,以使用 MongoDB 版本 4.0.9 或更高版本。

要了解如何升级部署,请参阅升级 MongoDB 版本和 FCV

  • 删除 spec.podSpec.podAntiAffinityTopologyKeyspec.podSpec.podAffinityspec.podSpec.nodeAffinity 设置。

    请改用 spec.podSpec.podTemplate 配置这些参数。

  • 删除 spec.applicationDatabase.podSpec.podAntiAffinityTopologyKeyspec.applicationDatabase.podSpec.podAffinityspec.applicationDatabase.podSpec.nodeAffinity 设置。

    请改用 spec.applicationDatabase.podSpec.podTemplate 配置这些参数。

在多 Kubernetes 集群 MongoDB 部署中添加了对LDAP 客户端身份验证使用 LDAP 管理数据库用户的支持。

此功能是beta版本。 仅在开发环境中使用多 Kubernetes 集群 MongoDB 部署。

发布日期:2022 年 5 月 24 日

发布日期:2022 年 4 月 29 日

  • 删除 spec.security.tls.secretRef.name 参数。

    • Kubernetes Operator 版本 v1.10.0 已弃用此参数。

    • 要指定包含数据库证书的密钥名称,请使用 spec.security.certsSecretPrefix

    • 相应地创建包含证书的密钥。

  • 删除 spec.podSpec.cpuspec.podSpec.memory 参数。

    要覆盖数据库 Pod 的 CPU/内存资源,请设置 spec.podSpec.podTemplate.spec.containers 下的 statefulset 参数。

  • metadata.labels 下指定的自定义标签传播到数据库 StatefulSet永久卷声明对象。

  • 允许使用 spec.prometheus 配置属性将 Prometheus 抓取端点添加到 MongoDB 资源。

    • GitHub 存储库中查找 Prometheus 配置示例。

  • 删除 spec.applicationDatabase.security.tls.secretRef.name 参数。

  • 删除 spec.applicationDatabase.podSpec.cpuspec.applicationDatabase.podSpec.memory

    要覆盖 AppDB Pod 的 CPU/内存资源,请使用 spec.applicationDatabase.podSpec.podTemplate.spec.containers 下的 statefulset 参数。

  • metadata.labels 下指定的自定义标签传播到 Ops Manager、AppDB 和 BackupDaemon StatefulSets 以及持久卷声明对象。

  • 允许使用 spec.applicationDatabase.prometheus 配置属性将 Prometheus 抓取端点添加到 ApplicationDatabase 资源。

添加可选参数 spec.connectionStringSecretName。此参数为 Kubernetes Operator 生成的用户特定连接字符串密钥提供确定性密钥名称。

发布日期:2022 年 3 月 24 日

发布日期:2022 年 3 月 4 日

  • Init-database、Init-Ops-Manager 和 Operator 二进制文件现在使用 Go1.17.7 来防止 CVE-2022 -23773 。

  • 修复了管理启用 TLS 的 ApplicationDB(其 TLS 证书存储在 Opaque 类型的 Secret 中)时阻止 Operator 升级的问题。

发布日期:2022 年 2 月 11 日

Kubernetes Operator 版本1.15.1 修复了在管理启用 TLS 的应用程序数据库(其 TLS 证书存储在 Opaque 中)时阻止 Kubernetes Operator 升级的问题。 的秘密。

我们建议您升级到 Kubernetes Operator 1.16.0 或更高版本。

我们强烈建议不要升级到 Kubernetes Operator 版本 1.14.0 或 1.15.0。

  • spec.security.tls.enabledspec.security.tls.secretRef.prefix 字段现已弃用,并将在未来版本中删除。

    要为 MongoDB 数据库资源启用 TLS,请为 spec.security.certsSecretPrefix 字段赋值。

  • 添加spec.backup.queryableBackupSecretRef字段。 此字段的值引用 密钥 用于存储可查询 备份的证书。

  • 添加两个字段以支持为 S3 oplog 和快照存储配置自定义 TLS 证书以进行备份:spec.security.tls.caspec.security.tls.secretRef

  • 添加备份应用程序数据库的功能。要备份应用程序数据库,必须首先使用 spec.applicationDatabase.automationConfig.processes[n].disabled 字段禁用其进程。

  • spec.security.tls.enabledspec.security.tls.secretRef.prefixspec.applicationDatabase.security.tls.enabledspec.applicationDatabase.security.tls.prefix 字段已弃用,并将在未来版本中删除。

    要为 Ops Manager 资源启用 TLS,请为 spec.security.certsSecretPrefix 字段赋值。

    要为应用程序数据库资源启用 TLS,请为 spec.applicationDatabase.security.certsSecretPrefix 字段赋值。

通过以下网址查找所有新映像:

发布日期:2021 年 12 月 16 日

Kubernetes Operator 版本1.15.1 修复了在管理启用 TLS 的应用程序数据库(其 TLS 证书存储在 Opaque 中)时阻止 Kubernetes Operator 升级的问题。 的秘密。

我们建议您升级到 Kubernetes Operator 1.16.0 或更高版本。

我们强烈建议不要升级到 Kubernetes Operator 版本 1.14.0 或 1.15.0。

  • 修复了禁用身份验证时导致 ShardedCluster 资源失效的问题。

  • 修复阻止 Kubernetes Operator 在轮换应用程序数据库 TLS 证书时触发资源协调的问题。

  • 修复 Kubernetes Operator 未将 MongoDBOpsManager 资源中指定的自定义 CA 装载到备份守护程序 Pod 中的问题。当您将 Ops Manager 配置为在混合模式下运行并使用自定义 CA 时,此问题使备份无法运行。

发布日期:2021 年 10 月 21 日

警告

重大更改

Kubernetes Operator 不再为 MongoDBMongoDBOpsManager 资源生成 TLS 证书。

重要

弃用通知

此版本弃用了 泛型类型密钥 用于 TLS 证书。

  • Kubernetes Operator 现在支持 kubernetes.io/tls类型。

    • 当您更新这些密钥时,Kubernetes Operator 会读取这些密钥并自动生成新的 .pem 文件,其中包含串联的 tls.crttls.key 字段。

    • 这样就无需手动连接这些值来创建 .pem 文件,并且使您能够在本地引用 Kubernetes 原生工具(例如 cert-manager)生成的密钥。

  • 对于支持 TLS 的资源,Kubernetes Operator 现在会监视包含 CA 的 ConfigMap 和包含 TLS 证书的密钥。现在,对这些 ConfigMap 和密钥的更改会触发相关资源的协调。

警告

重大更改

此版本从 MongoDB 数据库资源规范中删除了 spec.project 设置。

如果 MongoDB 资源规范使用 spec.project 设置,请在将 Kubernetes Operator 升级到 1.13.0 或更高版本之前更新规范,改为使用 spec.opsManager.configMapRef.namespec.cloudManager.configMapRef.name

  • 修复了无法使用 MongoDB 资源规范正确配置分片集群备份的问题。

  • 修复通过更新 spec.version 更新 Ops Manager 部署后,备份守护程序无法启动的问题。

  • Kubernetes Operator 现在会报告您在 MongoDBOpsManager 资源规范的 spec.backup.fileSystemStores 设置中配置的文件系统快照存储的状态。

    必须手动配置文件系统快照存储。

  • 此版本向 MongoDBOpsManager 资源规范添加了新字段 spec.backup.externalServiceEnabled

    默认情况下,Kubernetes Operator 会创建一个 LoadBalancer 服务( 启用可查询备份时)。

    在启用可查询备份之前,将 spec.backup.externalServiceEnabled 设置为 false,以防止 Kubernetes Operator 创建 LoadBalancer 服务。

  • 现在,当您将 Ops Manager 部署升级到 5.0.0 或更高版本时,Kubernetes Operator 会自动将个人 API 密钥升级为编程 API 密钥。您不再需要手动更改密钥来升级部署。

  • 此版本添加了 spec.security.certsSecretPrefix 字段来确定您必须为包含 MongoDBOpsManager 资源的 TLS 证书的密钥提供的名称。

    要了解更多信息,请参阅部署 Ops Manager 资源教程中的 spec.security.certsSecretPrefixHTTPS 标签页。

警告

重大更改

此版本从 MongoDBUser CustomResourceDefinition 中删除了 spec.project 设置。

如果您的 MongoDBUser 资源规范使用 spec.project 设置,请在将 Kubernetes Operator 升级到 1.13.0 或更高版本之前更新您的规范,以使用 spec.MongoDBResourceRef.name

  • Ops Manager 4.4.7、4.4.9、4.4.10、4.4.11、4.4.12 和 4.4.13基础镜像已更新至 Ubuntu 20.04。

  • 现已支持 Ops Manager 版本 4.4.16 和 5.0.1。

发布日期:2021 年 7 月 15 日

  • 如果在设置为 true 后将 spec.externalConnectivity 设置为 false,Kubernetes Operator 会删除相应的服务。

  • 您可以使用 spec.backup.members 指定备份守护程序 Pod 的数量。如果未设置,默认值为 1

  • Kubernetes Operator 现在支持以下 Ops Manager 版本:

    • 4.4.13、4.4.14、4.4.15、4.2.25 和 5.0.0。

  • 在将 Ops Manager 升级到版本 5.0.0 之前,请检查 Kubernetes Operator 是否使用编程 API 密钥

  • 基于 Ubuntu 的 Kubernetes Operator 映像现在基于 Ubuntu 20.04,而不是 Ubuntu 16.04。

  • 从 2.0.1 开始,基于 Ubuntu 的 MongoDB 映像基于 Ubuntu 18.04,而不是 Ubuntu 16.04。

    警告

    MongoDB 4.0。不支持 Ubuntu 18.04

    MongoDB 4.0 不支持 Ubuntu 18.04。如果要结合使用 MongoDB 4.0 和 Kubernetes Operator,请使用之前发布的映像。

  • 4.4.13 之后,基于 Ubuntu 的 Ops Manager 映像基于 Ubuntu 20.04,而不是 Ubuntu 16.04。

  • Kubernetes Operator、Ops Manager 和 MongoDB 的新发布 UBI 映像基于 ubi-minimal,而不是 ubi

发布日期:2021 年 6 月 3 日

删除“迁移到一个资源/项目(版本1.3.0必需)”主题 ,因为v. 1.3.0已生命周期结束 (EOL) 。 此主题已存档

  • 修复了 Liveness Probe 中的一个问题,该问题可能导致数据库 Pod 在备份恢复操作过程中重新启动。

警告

重大更改

  • 从此版本开始,您可以将任何版本的 MongoDB 用于应用程序数据库。部署 MongoDBOpsManager 资源时必须明确指定此版本。

  • 要升级 Kubernetes Operator,您必须指定应用程序数据库的版本。检查以确保 spec.applicationDatabase.versionMongoDBOpsManager 自定义资源部署的配置文件中有一个值。

  • 每个应用程序数据库 Pod 都包含以下容器(不像上个版本那样包含一个捆绑 MongoDB 版本的容器):

    • mongodb

    • mongodb-agent

    • mongodb-agent-monitoring

  • spec.applicationDatabase.persistent 设置已删除。Kubernetes Operator 始终将持久卷用于由 MongoDBOpsManager 自定义资源部署的应用程序数据库。

发布日期:2020 年 3 月 25 日

  • 修复多个 Ops Manager 资源在不同命名空间中无法具有相同名称的问题。

  • 修复导致使用 spec.backup.mode=disabled 创建的新 MongoDB 资源失败的问题。

  • 修复在 S3 Store(S3 存储)页面上保存更改的问题。

  • 修复将副本集状态更改为 Fail(失败)、增加副本集节点和禁用 TLS 的问题。

  • 当您使用远程或混合模式并设置 automation.versions.download.baseUrl 时,必须将 automation.versions.download.baseUrl.allowOnlyAvailableBuilds 属性设置为 false。Ops Manager 4.4.11 修复了此问题。

发布日期:2020 年 2 月 5 日

修复了逗号分隔值 (CSV) 中的错误(这只影响 Red Hat 市场)

  • 您不能将 MongoDB 4.4 用作 Ops Manager 资源的应用程序数据库。

  • mongodb-enterprise-operator:1.9.2

您可以在以下注册表中找到所有映像:

发布日期:2020 年 1 月 15 日

警告

重大更改

此版本引入了:

  • 新的应用程序数据库映像 mongodb-enterprise-appdb:10.2.15.5958-1_4.2.11-ent。该映像包含 MongoDB 4.2.11-ent,而不是 4.2.2-ent。您必须将新映像推送到 Kubernetes Operator 安装使用的任何私有存储库。否则,MongoDBOpsManager 资源将无法启动。

  • 新的必填环境变量 APPDB_AGENT_VERSION。 如果您不设置 APPDB_AGENT_VERSION,则 MongoDBOpsManager 资源无法获取应用程序数据库的 MongoDB 助手版本。

  • 您不能将 MongoDB 4.4 用作 Ops Manager 资源的应用程序数据库。

  • mongodb-enterprise-operator:1.9.1

  • mongodb-enterprise-appdb:10.2.15.5958-1_4.2.11-ent

  • mongodb-enterprise-init-appdb:1.0.2

  • mongodb-enterprise-init-database:1.0.6

您可以在以下注册表中找到所有映像:

发布日期:2020 年 12 月 8 日

  • 修复了 Kubernetes Operator 未关闭与 Ops Manager 的连接,导致打开的文件描述符过多的问题。

  • 现在,您可以在MongoDB database 资源的 CustomResourceDefinition 中为其配置持续备份 。

    注意

    在MongoDB CustomResourceDefinition 中启用连续备份 ,您必须在使用enable backup MongoDB Ops ManagerKubernetesOperator 部署的 实例中 。

  • 您不能将 MongoDB 4.4 用作 Ops Manager 资源的应用程序数据库。

  • 当您将 Kubernetes Operator 升级到此版本时,Kubernetes Operator 会删除并重新创建备份守护程序 Statefulset。

    这是一项安全的操作。

    支持可查询备份的 Kubernetes 新服务需要更改 matchLabels 备份守护程序 StatefulSet 属性。

  • Kubernetes Operator 更改了收集应用程序数据库 Pod 中 MongoDB 助手状态的方式 。

  • mongodb-enterprise-operator:1.9.0

您可以在以下注册表中找到所有映像:

发布日期:2020 年 11 月 16 日

  • 您不能将 MongoDB 4.4 用作 Ops Manager 资源的应用程序数据库。

修复了启用 spec.externalConnectivityspec.backup.enabled 时 Ops Manager 资源将达到 Failing 状态的问题。

发布日期:2020 年 11 月 13 日

  • 修复了创建 MongoDB 资源后无法修改 spec.security.authentication.ignoreUnknownUsers 的错误。

  • 修复失败的可查询备份。Kubernetes Operator 现在创建一个 Kubernetes 服务,Ops Manager 使用该服务来访问备份。

  • 修复无法从非 TLS 迁移到支持 TLS 的应用程序数据库的问题。

  • Init 容器不以根身份运行。

  • Ops Manager 备份守护程序在非特权模式下运行。

  • 要管理数据库 Pod 资源,请使用 spec.podSpec.podTemplate MongoDB 自定义资源属性。有关每种支持类型的资源定义示例,请参阅 samples/mongodb/podspec 目录。以下属性已弃用:

    • spec.podSpec.cpu

    • spec.podSpec.cpuRequests

    • spec.podSpec.memory

    • spec.podSpec.memoryRequests

Init-database 1.0.1
Init-ops-manager 1.0.3
Init-appdb 1.0.5
版本 4.4.5
版本 4.2.21
版本 4.2.20

有关已安装软件包的列表以及在构建过程中检测到的任何安全漏洞,请参阅 MongoDB Enterprise Operator 的 Quay 存储库 和 MongoDB Enterprise 数据库。

发布日期:2020 年 9 月 30 日

警告

重大更改

MongoDB Enterprise Database 映像现在需要一个 init 容器。如果您使用的是私有存储库,则必须在 Operator 部署中设置 INIT_DATABASE_IMAGE_REPOSITORY 环境变量,并且新的 container 容器必须存在于该存储库中。

  • 引入新的配置字段:

    • spec.security.authentication.requireClientTLSAuthentication 用于将 MongoDB 助手客户端证书身份验证与任何其他身份验证机制结合使用。

    • spec.security.authentication.agents.clientCertificateSecretRef 用于配置启用 ClientTLSAuthentication 时 MongoDB 助手使用的客户端 TLS 证书。

  • 将根据密钥创建的卷的默认权限从 0644 更改为 0640

  • 修复导致 Operator 在创建 MongoDB 用户时选择不正确的项目名称的问题。

  • 修复导致 MongoDB Ops Manager CRD 的 CA 路径位于错误位置的问题。

  • 修复 MongoDB 助手无法正确识别通过 spec.agent.startupOptions 传递的参数的错误。

  • 修复并行修改某些配置选项时可能导致死锁的问题。

  • 您不能将 MongoDB 4.4 用作 Ops Manager 资源的应用程序数据库。

  • 启用可查询备份时,必须手动为以下项创建两项附加服务:

    • 公开 Ops Manager Pod 的可查询备份端口(默认值:25999)。

    • 备份守护程序 Pod,确保它可以从 Ops Manager Pod 解析。

  • 如果在本地模式下部署 Ops Manager 并从 4.4.1 版本升级,您必须升级位于 automation.versions.directory 中的 MongoDB 工具,默认为 /mongodb-ops-manager/mongodb-releases/

    提示

    另请参阅:

发布日期:2020 年 9 月 2 日

  • Ops Manager 资源:

    • 修复了以下错误:无法在 Ops Manager 4.4 中为使用某些 MongoDB 版本的应用程序数据库资源启用 SCRAM-SHA 身份验证。

    • 修复了以下错误:在您为应用程序数据库启用 TLS 时,未在 Ops Manager 中正确配置应用程序数据库监控。

    • 修复了将 Ops Manager CA 配置从 spec.applicationDatabase.security.tls.ca 移至 spec.security.tls.ca 的错误。

  • MongoDB 资源:

    • 修复了一个错误,该错误导致您无法在 MongoDB 4.4 部署中将副本集或分片集群中的节点数一次增加或减少多个节点。

    • 修复了以下问题:如果您为 MongoDB 资源启用了 LDAP 身份验证,Kubernetes Operator 无法启用代理身份验证。

    • 修复了以下问题:无法按任意顺序为 MongoDB 资源创建 SCRAM 用户并启用 SCRAM 身份验证。

    • 修复了以下问题:在 MongoDB 资源 Pod 上启动代理之前,Kubernetes Operator 未删除备份自动化配置。

  • 如果在应用程序数据库上启用 TLS,您不能在 Ops Manager 资源定义中提供 spec.applicationDatabase.version 字段。

  • 您不能将 MongoDB 4.4 用作 Ops Manager 资源的应用程序数据库。

  • 在升级到 Kubernetes Operator 1.7.1 时,由于部署配置更改,您可能必须删除 mongodb-enterprise-operator 部署。

    这是一项安全的操作。 删除mongodb-enterprise-operator Pod 不会影响 MongoDB 自定义资源

  • 如果使用由自定义 CA 签名的 TLS 证书,您必须:

    • 省略 Ops Manager 资源定义中的spec.version.applicationDatabase设置,并且

    • 本地模式部署 Ops Manager。您必须手动将待使用的所有 MongoDB 版本的安装存档复制到 Ops Manager StatefulSet 的持久化卷中。

发布日期:2020 年 8 月 14 日

重要

支持 OpenShift 3.11 的最终版本

Kubernetes Operator 1.7.x 是支持 OpenShift 3.11 的最终次要版本系列。如果要继续使用 OpenShift 3.11 部署 Kubernetes Operator,请不要升级到任何将来的主要或次要版本。

Kubernetes Operator 1.7.x 版本系列的计划终止日期为 2021 年 7 月。

  • 所有 Kubernetes Operator Red Hat Docker 映像现在基于 UBI 8。在以前的版本中,Kubernetes Operator Red Hat Docker 映像基于 UBI 7。

  • LDAP支持将MongoDB database 作为使用Kubernetes Operator 部署的 资源的授权机制。有关更多信息,请参阅 上的LDAP 配置示例Github

  • 修复了一个错误,该错误导致无法将副本集从三个节点缩减为一个节点。

  • Ops Manager 无法监控使用 TLS 保护的应用程序数据库。

  • 对于 MongoDB 4.4 部署,您只能将副本集或分片集群中的节点数一次增加或减少一个节点。

发布日期:2020 年 7 月 30 日

  • 版本 4.4.0 的 Ops Manager 映像已发布。

  • Red Hat databaseoperator Docker 映像现在基于最新的 UBI 7 版本。两个高度严重的问题已得到解决。

  • 已发布以下 Docker 映像:

    映像类型
    Ubuntu 16.04
    Red Hat UBI 7

    Kubernetes Operator

    quay.io/mongodb/mongodb-enterprise-operator:1.6.1
    quay.io/mongodb/mongodb-enterprise-operator-ubi:1.6.1
    MongoDB 数据库
    quay.io/mongodb/mongodb-enterprise-database:1.6.1
    quay.io/mongodb/mongodb-enterprise-database-ubi:1.6.1

    Ops Manager

    quay.io/mongodb/mongodb-enterprise-ops-manager:4.4.0
    quay.io/mongodb/mongodb-enterprise-ops-manager-ubi:4.4.0
  • 修复了以下错误:Kubernetes Operator 未将部署资源的配置存储在密钥中。

  • 修复了以下错误:Kubernetes Operator 不允许 Ops Manager 资源中定义的应用程序数据库、oplog 存储和块存储数据库资源使用任何长度或复杂性的密码。

  • 修复了以下错误:在删除 MongoDB 数据库资源时,未从 Ops Manager 或 Cloud Manager 项目中删除身份验证配置。

发布日期:2020 年 7 月 16 日

  • LDAP支持将MongoDB database 作为使用Kubernetes Operator 部署的 资源的身份验证机制。有关更多信息,请参阅 GitHub 上的示例LDAP 配置Github

    注意

    还不支持 LDAP 授权。

  • 在启用备份时,保留 Ops Manager 集群记录以保留备份历史记录。

  • 修复了一个错误,该错误导致在 projectName 包含空格时 Kubernetes Operator 无法引发错误。

  • 修复了导致 Ops Manager 无法监控使用 Kubernetes Operator 部署的所有 MongoDB 数据库资源的错误。

发布日期:2020 年 7 月 2 日

  • 修复了 1.5.4 中引入的以下错误:在使用早于 4.2.2 的 Ops Manager 版本时,MongoDB Enterprise Kubernetes Operator 无法正确标记项目。在 4.2.2 版本中,MongoDB Enterprise Kubernetes Operator 可以正确标记项目。

发布日期:2020 年 6 月 22 日

  • 如果 MongoDB 资源对象定义中未提供 spec.security.authentication 设置,则允许使用 Cloud Manager 或 Ops Manager 用户界面修改身份验证设置。

  • 除了 helm template | kubectl apply 以外,还支持使用 helm install 进行 Helm 安装helm install 现在是使用 Helm 进行安装的建议方法。

  • 支持独立于集群身份验证机制配置 MongoDB 助手身份验证机制。

  • 支持为应用程序数据库配置监控以将指标发送到MongoDB Ops Manager 。 要了解有关MongoDB Agent监控功能的更多信息,请参阅MongoDB Agent 。

  • 修复了一个错误,该错误影响将身份验证机制从 X.509 转变为 SCRAM。

  • 修复了一个错误,该错误导致在 Ops Manager 用户界面中更改 SCRAM 配置时 MongoDB 助手无法达到目标状态。

发布日期:2020 年 5 月 29 日

将 和MongoDB Ops Manager MongoDB部署配置属性作为 密钥环境变量传递。

  • 正确配置 Ops Manager 和备份守护程序的关闭超时。

  • 修复了以下问题:Kubernetes Operator 监视的密钥和 ConfigMap 触发不必要的协调。

  • 修复了以下问题:无法在 OpenShift 3.11 中更新自定义资源的状态。

发布日期:2020 年 5 月 8 日

  • 在专用服务帐户中运行 Ops Manager 和备份守护程序 Pod。

  • 可以配置 Kubernetes Operator,监视提供的 CustomResourceDefinitions 的子集。有关更多信息,请参阅文档。

  • 可生成 CustomResourceDefinitions 而不使用子资源。某些版本的OpenShift 3。11 需要此功能。 要避免使用子资源,请在使用 helm 安装 Kubernetes Operator 时使用--set subresourceEnabled=false

  • 修复了在MongoDBOpsManager资源上设置spec.statefulSetspec.backup.statefulSet字段的问题。

  • 修复了一个问题,该问题要求在设置 Webhook 期间重新启动 Kubernetes Operator。

  • 修复了如果提供的管理员密码强度不足,可能导致 Ops Manager 资源进入不可恢复状态的问题。

发布日期:2020 年 4 月 30 日

弃用 Kubernetes Operator 生成 TLS 证书。 如果您使用 Kubernetes Operator 生成的证书,警告消息现在会显示在 Kubernetes Operator 日志中。 要配置安全部署,请参阅安全客户端连接。

修复了以下问题:在 Kubernetes Operator 未配置身份验证时,Kubernetes Operator 在 Cloud Manager 或 Ops Manager 中禁用身份验证。除非您明确将 spec.security.authentication.enabled 设置为 false,否则,Kubernetes Operator 不再禁用身份验证。

配置 MongoDBOpsManager 资源的 spec.statefulSet.specspec.backup.statefulSet.spec 设置时,您只能配置 spec.statefulSet.spec.templatespec.backup.statefulSet.spec.template 字段。任何其他spec.statefulSet.specspec.backup.statefulSet.spec字段都不起作用。

发布日期:2020 年 4 月 24 日

新增使用部分但非全部 MongoDB CustomResourceDefinition 启动 Kubernetes Operator 的功能 已安装。管理员可以指定容器参数 watch-resource 来限制Kubernetes Operator 部署 MonogDB 实例或MongoDB Ops Manager ,或两者兼而有之。

警告

重大更改

添加以下新的 Kubernetes Operator 配置属性:

  • INIT_OPS_MANAGER_IMAGE_REPOSITORY

  • INIT_APPDB_IMAGE_REPOSITORY

  • APPDB_IMAGE_REPOSITORY

在使用私有 Docker 注册表时,从 MongoDB 分发通道复制映像后,这些属性必须指向相关的注册表。

  • 使用 spec.security.tls.secretRefspec.security.tls.ca 配置设置添加对自定义 TLS 证书的支持。

  • 弃用由 Kubernetes Operator 生成 TLS 证书的功能。建议迁移到自定义 TLS 证书。

  • MongoDBOpsManager 资源发布为一般可用 (GA)。MongoDB 现在支持使用 Kubernetes Operator 在生产环境中将 Ops Manager 资源部署到 Kubernetes。

  • 支持备份块存储快照存储。

  • 默认将应用程序数据库作为备份 S3 快照存储的元数据数据库。

  • 支持使用 spec.jvmParametersspec.backup.jvmParameters 在 Ops Manager 和备份守护程序进程中添加或覆盖 JVM 参数。

  • 根据 Pod 内存可用性自动配置 Ops Manager 和备份守护程序 Java 虚拟机内存参数。

  • 支持 Ops Manager 和应用程序数据库的 TLS

  • status 字段中添加更详细的信息。

  • 允许用户在 spec.statefulSet.spec 中指定 PersistentVolumeClaimTemplates,从而支持具有多个副本集的 MongoDBOpsManager 资源的 Ops Manager 本地模式。

  • 实现新的映像版本控制方案。

警告

重大更改

请参阅示例 YAML 文件以了解新功能用法示例。

修复了 CVE-2020-7922:Kubernetes Operator 生成可能不安全的证书。

MongoDB Enterprise Kubernetes Operator 生成的 X.509 证书可能允许具有 Kubernetes 集群访问权限的攻击者对 MongoDB 实例进行不适当的访问。不使用 X.509 身份验证的客户以及不使用 Kubernetes Operator 生成 X.509 证书的客户不受影响。

CWE-295:不正确的证书验证 CVSS 分数:6.4 CVSS:3.1/AV:A/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N

  • 1.0 、 1.1

  • 1.2.0 - 1.2.4

  • 1.3.0 - 1.3.1

  • 1.4.0 - 1.4.4

  • 1.2.5

  • 1.4.5 和更高版本

支持Cloud Manager API 中的更改。

  • 使用终止挂钩正确终止资源。

  • 实施更严格的验证。

  • MongoDB 资源:

    • 修复了使用具有自定义 HTTPS 证书的 Ops Manager 时出现的问题。

发布日期:2020 年 2 月 24 日

添加了 Webhook 以验证 Kubernetes Operator 配置。

  • 使用 spec.podSpec.podTemplate 设置为 MongoDB 资源 Pod 添加对 sidecar 的支持。

  • 允许用户更改 PodSecurityContext 以允许特权 sidecar 容器。

  • 为 Ops Manager、备份守护程序和应用程序数据库添加 spec.podSpec 配置设置。请参阅 Ops Manager 资源规范

  • 4.2.8 版的 Ops Manager 镜像现已推出。

  • MongoDB 资源:

    • 修复了删除 MongoDB 资源时可能出现的争用情况。

  • Ops Manager 资源:

    • 支持 Ops Manager 和应用程序数据库资源的 spec.clusterDomain 设置。

    • 不再为应用程序数据库启动监控和备份进程。

请参阅示例 YAML 文件以了解新功能用法示例。

发布日期:2020 年 1 月 24 日

  • 为应用程序数据库添加了离线模式支持。将 MongoDB Enterprise 4.2.2 版与应用程序数据库映像捆绑在一起。如果将 spec.applicationDatabase.version 设置为 "4.2.2-ent" 或省略,则无需访问互联网即可安装应用程序数据库。

  • spec.clusterName设置重命名为spec.clusterDomain

  • 发布了 4.2.6 和 4.2.7 版本的 Ops Manager 映像。

  • MongoDB 资源:

    • 修复分片集群组件的创建顺序。

    • 允许在 Amazon EKS 上启用 TLS

  • Ops Manager 资源:

    • 允许 Kubernetes Operator 使用 spec.clusterDomain 设置。

请参阅示例 YAML 文件以了解新功能用法示例。

发布日期:2019 年 12 月 13 日

发布日期:2019 年 12 月 09 日

  • 添加对 MongoDB 副本集的水平分割 DNS 支持,允许客户端从 Kubernetes 集群外部连接到该副本集。

  • 支持其他证书域请求 Kubernetes Operator 生成的证书,这使得 Kubernetes Operator 生成的证书对指定的子域有效。

  • MongoDBOpsManager 资源提升为 Beta 版本。发布了 Ops Manager 4.2.4 版本。

  • 为 Kubernetes Operator 部署的 Ops Manager 实例中的备份和恢复提供支持。这是一个半自动化的进程,可用于部署 Ops Manager 中启用备份所需的所有配置。您可以通过在 Ops Manager 自定义资源中设置 spec.backup.enabled 来启用备份。您可以利用 MongoDBOpsManager 资源规范来配置头部数据库、Oplog 存储和 S3 快照存储。

  • 支持通过 spec.externalConnectivity 设置在 Kubernetes 集群外部访问 Ops Manager。

  • 默认情况下,在 Ops Manager 的应用程序数据库上启用 SCRAM-SHA-1 身份验证

  • 添加了对 OpenShift(Red Hat UBI 映像)的支持。

有关如何启用新功能的更多信息,请参阅示例 目录中的示例 YAML 文件。

  • 提高了 X.509 用户管理的整体稳定性。

发布日期:2019 年 11 月 8 日

重要

此版本引入了可能与以前的部署或资源配置不兼容的重大更改。 在升级 Kubernetes Operator 之前,迁移到每个项目使用一种资源

  • 每个 项目需要一种MongoDB 资源。MongoDB Ops Manager如果项目中有多种 MongoDB 资源,所有资源都将变为Pending状态,并且 Kubernetes Operator 不会对它们执行任何更改。 仍可访问现有 MongoDB 数据库。 您必须迁移到每个项目一种资源。

  • 支持SCRAM-SHA身份验证模式。 请参阅 MongoDBEnterprise Kubernetes OperatorGithub存储库 的示例。

  • 要求从 MongoDB 资源中引用的项目 (ConfigMap) 和凭证(密钥)位于同一命名空间中。

  • 添加 OpenShift 安装文件(YAML 文件和 Helm Chart 配置)。

发布日期:2019 年 10 月 25 日

重要

此版本引入了可能与以前的部署或资源配置不兼容的重大更改。 在安装或升级 Kubernetes Operator 之前,迁移到每个项目使用一种资源

该版本对 Ops Manager 资源的架构进行了重大更改。Ops Manager 应用程序数据库现在由 Kubernetes Operator 管理,而不是由 Ops Manager 管理。

  • 停止不必要的 NodePort 重新创建。

  • 修复了日志记录,以使其始终采用 JSON 格式。

  • 在 Kubernetes Operator Docker 映像中设置 USER

修复了 CVE-2020-7922:Kubernetes Operator 生成可能不安全的证书。

MongoDB Enterprise Kubernetes Operator 生成的 X.509 证书可能允许具有 Kubernetes 集群访问权限的攻击者对 MongoDB 实例进行不适当的访问。不使用 X.509 身份验证的客户以及不使用 Kubernetes Operator 生成 X.509 证书的客户不受影响。

CWE-295:不正确的证书验证 CVSS 分数:6.4 CVSS:3.1/AV:A/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N

  • 1.0 、 1.1

  • 1.2.0 - 1.2.4

  • 1.3.0 - 1.3.1

  • 1.4.0 - 1.4.4

  • 1.2.5

  • 1.4.5 和更高版本

发布日期:2019 年 10 月 2 日

  • 提高分片集群部署的稳定性。

  • 改进内部测试基础设施。

发布日期:2019 年 9 月 13 日

  • 更新: 未来版本的 MongoDB Enterprise Kubernetes Operator 将不再支持每个项目连接多个集群。如果一个项目包含多个集群,MongoDB 资源状态将添加一条警告。另外,向非空项目中添加新集群将会导致 Failed 状态,并且不会被处理。

  • 修复:提高了 Operator 的整体稳定性。现在,Operator 在 Kubernetes 和 Cloud Manager 或 Ops Manager 上的资源更新方面更加保守。

发布日期:2019 年 8 月 30 日

  • 安全修复:Kubernetes Operator 版本 1.0 到 1.2.1 配置的集群使用强度不够高的密钥文件,在 mongod 进程之间进行内部集群身份验证。这仅影响使用 X.509 进行用户身份验证的集群,而不影响使用 X.509 进行内部集群身份验证的集群。建议用户升级到 1.2.2 版本,这会替换所有管理的密钥文件。

  • 安全修复:Kubernetes Operator 版本 1.0 到 1.2.1 配置的集群使用强度不够高的密码,对 MongoDB 助手进行身份验证。这仅影响已手动配置为启用 SCRAM-SHA-1 的集群,这是不支持的配置。建议用户升级到 1.2.2 版本,这会重置这些密码。

发布日期:2019 年 8 月 23 日

  • 修复:启用 X.509 身份验证且经批准的 CSR 已删除时,Kubernetes Operator 不再重新创建 CSR 。

  • 修复:OPERATOR_ENV 环境变量如果被设置为 Kubernetes Operator 无法识别的内容,则将不再生成 pod 的 CrashLoopBackOff。使用默认值 prod

  • 现在,Kubernetes Operator 在给定项目中支持超过 100 个代理。

发布日期:2019 年 8 月 13 日

该功能是 Alpha 版本。它尚未准备好用于生产环境。

发布日期:2019 年 7 月 19 日

发布日期:2019 年 6 月 18 日

  • 支持 Kubernetes 1.11 或更高版本。

  • 在组织的 Kubernetes 集群中预配任何类型的 MongoDB 部署:

  • 在 MongoDB 部署上配置 TLS 并加密所有流量。主机和客户端可以验证彼此的身份。

  • 管理 MongoDB 用户。

  • 支持对 MongoDB 数据库进行 X.509 身份验证。

提示

另请参阅:

要了解如何安装和配置 Operator,请参阅安装和配置 Kubernetes Operator。

注意

有关 Kubernetes Operator GA 版本的问题

如果您对该版本有任何疑问,请使用 #enterprise-kubernetes Slack 渠道。

发布日期:2019 年 06 月 07 日

  • MongoDB 资源的滚动升级可确保为主节点调用rs.stepDown() 。 需要 MongoDB 补丁版本4.0.8及更高版本或 MongoDB 补丁版本4.1.10及更高版本。

  • 在 MongoDB 主要版本升级期间,可以设置 featureCompatibilityVersion 字段。

  • 修复了以下错误:无法创建具有超过 7 个节点的副本集。

  • 可以在项目级别启用 X.509 身份验证。需要使用 Cloud Manager、Ops Manager 补丁版本 4.0.11 和更高版本或 Ops Manager 补丁版本 4.1.7 和更高版本。

  • 可以在部署级别启用基于 X.509 的内部集群身份验证。

  • 可以使用新的 MongoDBUser 自定义资源创建采用 X.509 身份验证的 MongoDB 用户。

发布日期:2019 年 04 月 29 日

  • NodePort 可以禁用服务创建。

  • 可以启用TLS ,以在副本集和分片集群中的 MongoDB 之间进行内部身份验证。 TLS证书由 Kubernetes Operator 自动创建。 请参阅.yamlGithub 存储库 中的示例 文件 的示例。

  • 已将 roles.yaml 中的广泛或通配符角色替换为严格的动词列表。

  • 使用 kubectl 打印 mdb 对象将提供有关该 MongoDB 对象的更多信息:类型、状态和 MongoDB 服务器版本。

发布日期:2019 年 4 月 2 日

  • Kubernetes Operator 和数据库映像现在基于 ubuntu:16.04。

  • Kubernetes Operator 现在使用单个 CustomResourceDefinition 命名为MongoDB 而不是MongoDbReplicaSetMongoDbShardedClusterMongoDbStandalone CRD。

    重要

    按照升级步骤将现有的 MongoDbReplicaSetMongoDbShardedClusterMongoDbStandalone 资源转换为新格式。

  • 关于已安装软件包的列表以及在构建进程中检测到的任何安全漏洞,请参阅:

发布日期:2019 年 03 月 19 日

  • Operator 和数据库映像现在基于 debian:stretch-slim,它是 Debian 9 的最新 Docker 映像。

发布日期:2019 年 02 月 26 日

  • 在删除 MongoDB 资源时执行 Ops Manager 清理,而不使用终结器。

  • 错误修复:与 Ops Manager 通信时出现争用情况。

  • 缺陷修复: ImagePullSecrets 在 OpenShift 中未正确初始化。

  • 错误修复:意外提取关闭的项目。

  • 错误修复:创建重复的组织。

  • 错误修复:如果 Ops Manager 中的某些其他资源处于错误状态,MongoDB 资源协调可能会失败。

发布日期:2019 年 02 月 01 日

  • 改进了 MongoDB 资源的详细状态字段。

  • Kubernetes Operator 监视项目 configMap 和凭证密钥中的配置参数更改,然后对相关 Kubernetes 资源执行滚动升级。

  • 为 MongoDB 助手 Pod 添加了 JSON 结构化日志记录。

  • 支持使用 DNS SRV 记录进行 MongoDB 访问。

  • 错误修复:避免不必要的协调。

  • 错误修复:改进了 Ops Manager/Cloud Manager 对删除的资源的状态管理。

发布日期:2018 年 12 月 17 日

  • 重构了代码,以使用 controller-runtime 库修复 Operator 可能使资源处于不一致状态的问题。这还会引入正确的协调过程。

  • 为所有 MongoDB Kubernetes 资源添加了新的status字段。

  • 可以配置 Operator 以监视集群中的任何单个命名空间或所有命名空间(需要具有集群角色)。

  • 添加新的配置属性 logLevel 以改进数据库日志记录。该属性默认设置为 INFO。MongoDB 助手和 MongoDB 日志合并到单个日志流中。

  • 添加了新的配置 Operator 超时。它定义更新 MongoDB 资源时启动数据库 Pod 的等待时间。

  • 修复:修复了 mongos 的故障检测。

发布日期:2018 年 11 月 14 日

  • 数据库映像不再包含自动化代理的二进制文件。在启动时,容器从 Ops Manager 中下载自动化代理二进制文件。

  • 修复:如果在不同的组织中存在具有相同名称的项目,则与 Ops Manager 的通信将会失败。

发布日期:2018 年 10 月 4 日

  • 如果在 Ops Manager 中为 Kubernetes Operator 创建的副本集或分片集群启用了备份,则 Kubernetes Operator 会在删除资源之前禁用该备份。

  • 改进的持久性支持:

    • 数据、日志和日志目录将挂载到一个或三个卷中的三个挂载点,具体取决于 podSpec.persistence 设置。

      设置
      目录挂载位置
      podSpec.persistence.single
      一卷
      podSpec.persistence.multiple
      三卷

      在该版本之前,仅将数据目录挂载到持久存储。

    • 通过使用新参数 labelSelector,您可以指定 Kubernetes Operator 应考虑挂载的卷的选择器。

    • 如果 StorageClass 未在persistence 配置中指定,则使用集群的默认StorageClass 。在大多数公有云提供商中,这会导致动态卷预配。

发布日期:2018 年 8 月 7 日

  • Operator 不再创建 CustomResourceDefinition 对象。 用户需要手动创建它们。 下载并应用 这个新的 yaml 文件 (crd.yaml ) 创建/配置这些对象。

  • 不再需要 ClusterRole。 Operator 监视资源的方式已发生变化。 在上一个版本之前,Operator 将监视任何 命名空间 上的任何资源 。使用0 。 3 ,Operator 监视创建它的同一命名空间中的资源。 要支持多个命名空间,可以安装多个 Operator。 这允许隔离 MongoDB 部署。

  • 对 PersistentVolume 的挂载方式进行了权限更改。

  • 为 Operator 添加了配置,以不创建 SecurityContext 对于 Pod 。这解决了 OpenShift 在使用SecurityContextContraints时不允许此设置的问题。

    如果您使用 Helm,请将managedSecurityContext设置为true 。 这将告知 Operator 不要为SecurityContext Pod 创建 ,满足 OpenShift 要求。

  • projectNameorgId 的组合替代了单独的 projectId,以配置到 Ops Manager 的连接。如果不存在,则会创建项目。

发布日期:2018 年 8 月 3 日

  • 计算 WiredTiger 内存缓存。

发布日期:2018 年 6 月 27 日

初始版本

  • 可以使用 Kubernetes 配置文件部署独立实例、副本集和分片集群。