Kubernetes MongoDB Operator升级6.0.4时featureCompatibilityVersion配置无效问题
MongoDB Operator升级6.0.4时FCV配置不生效的排查与解决
可能的配置问题及修复步骤
检查FCV配置层级是否正确
确认featureCompatibilityVersion是否放在MongoDBCommunity资源的spec.mongodb字段下,正确的配置结构示例:apiVersion: mongodbcommunity.mongodb.com/v1 kind: MongoDBCommunity metadata: name: your-cluster-name spec: mongodb: version: "6.0.4" featureCompatibilityVersion: "6.0" # 其他配置(如statefulSet、用户权限等)若FCV配置放在错误层级(比如与spec平级),Operator会直接忽略该配置。
遵循FCV逐步升级规则
MongoDB的featureCompatibilityVersion升级必须按4.4 → 5.0 → 6.0的顺序执行,不能跨版本跳级:- 第一步:将yaml中
version改为5.0.x(如5.0.15),featureCompatibilityVersion设为"5.0",应用配置后等待集群升级完成并稳定。 - 第二步:再将
version改为6.0.4,featureCompatibilityVersion设为"6.0",重新应用配置。
- 第一步:将yaml中
验证配置是否被Operator读取
通过kubectl查看MongoDBCommunity资源的状态,确认配置是否生效:kubectl get mongodbcommunity your-cluster-name -o yaml检查
status字段中的mongodbVersion和featureCompatibilityVersion是否与配置一致。若不一致,可尝试重启Operator Pod触发配置同步:kubectl rollout restart deployment mongodb-kubernetes-operator -n <operator所属命名空间>排查集群异常状态
若集群内存在Pod处于CrashLoopBackOff或NotReady状态,Operator会暂停升级操作。需先修复集群异常,确保所有MongoDB Pod正常运行后再尝试升级。
排除Bug可能性
若以上步骤验证后配置完全正确但问题仍存在,需检查Operator版本兼容性:
- MongoDB 6.0.x需要Operator 1.12及以上版本支持,若使用旧版Operator,需先升级Operator至兼容版本,再进行MongoDB集群升级。
内容的提问来源于stack exchange,提问作者Andreas Forslöw
相关产品推荐
相关产品推荐

