部署Bitnami MongoDB副本集时Pod就绪失败,副本集未初始化
解决Bitnami MongoDB单节点副本集部署未就绪问题
问题根源
使用Bitnami MongoDB Helm Chart 15.6.12部署副本集架构时,若设置replicaCount=1,Chart默认的自动初始化逻辑不会触发rs.initiate()操作,导致副本集未初始化,进而引发就绪探针失败、local.oplog.rs集合不存在的错误。
手动修复步骤
- 进入运行中的MongoDB Pod:
kubectl exec -it mongodb-0 -- bash
(若Pod名称不是mongodb-0,替换为实际的Pod名称)
- 使用root账号登录MongoDB:
mongo -u root -p <你的root密码>
- 初始化单节点副本集:
执行以下命令,其中host字段需替换为Pod的完整域名(可在Pod内执行hostname -f获取):
rs.initiate({ _id: "rs0", members: [ { _id: 0, host: "mongodb-0.mongodb-headless.default.svc.cluster.local:27017" } ] })
- 验证副本集状态:
输入rs.status(),确认节点状态显示为PRIMARY,此时就绪探针会自动恢复,Pod将变为就绪状态。
部署阶段自动初始化的配置
若希望在部署时直接完成单节点副本集初始化,可在Helm安装命令中添加以下参数:
--set replicaSetName=rs0 \ --set mongodb.initiateReplicaSet=true
内容的提问来源于stack exchange,提问作者Yashtech
相关产品推荐
相关产品推荐

