Docs 菜单
Docs 主页
/
Enterprise Kubernetes Operator

MongoDB Enterprise Kubernetes Operator 发布说明

已发布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资源:这些资源现在允许您在外部服务中添加占位符。

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

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

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

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

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

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

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

  • 添加了新的operator.webhook.registerConfiguration参数,该参数控制 Kubernetes Operator 是否应通过为 Kubernetes Operator 设置MDB_WEBHOOK_REGISTER_CONFIGURATION环境变量来执行自动准入 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 Operator 版本标签保持一致,以便清楚哪些映像与哪个版本的 Kubernetes Operator 匹配。这会影响以下映像:

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

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

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

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

    要学习;了解更多信息,请参阅MongoDB Enterprise Kubernetes Operator kubectloc 安装设置以及MongoDB Enterprise Kubernetes Operator Helm 安装设置。

  • spec.exposedExternally(在 Kubernetes Operator 1.19 中已弃用)替换为 spec.externalAccess

  • 修复当成员集群失去连接时,在多 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 状态名称。

  • 当自定义资源长时间处于 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 拒绝证书的问题。

要查看旧版本操作符的发布说明,请单击此处

在此页面上