MongoDB Kubernetes Operator中mongodb-agent容器未就绪问题求助
解决mongodb-agent就绪探针失败的方案
1. 修正MongoDB版本配置不匹配
你的CRD配置中spec.version设置为5.0.4,但实际部署的MongoDB版本是5.0.24,版本不一致会导致agent与mongod通信异常,触发就绪探针失败。修改CRD中的版本字段:
spec: version: '5.0.24'
修改后重新应用配置:
kubectl apply -f your-mongo-config.yaml
2. 调高mongodb-agent资源配额
当前给mongodb-agent分配的CPU(0.2核)和内存(200M请求/250M限制)过低,在GKE环境中,agent初始化或集群维护时可能因资源不足导致探针超时。建议调整资源配置:
- name: mongodb-agent resources: limits: cpu: '0.5' memory: 512M requests: cpu: '0.3' memory: 384M
3. 调整就绪探针参数(可选)
如果资源调整后问题仍存在,可以修改agent的就绪探针超时、重试参数,避免因初始化慢导致探针误判:
- name: mongodb-agent readinessProbe: httpGet: path: /healthz port: 27000 initialDelaySeconds: 30 periodSeconds: 10 timeoutSeconds: 5 failureThreshold: 6
4. 查看agent日志定位具体错误
通过日志获取agent的具体故障信息,是排查问题最直接的方式:
kubectl logs <故障Pod名称> -c mongodb-agent
常见错误包括:mongod连接失败、权限配置错误、版本兼容问题等,根据日志内容针对性修复。
5. 确认Operator与GKE版本兼容性
MongoDB Kubernetes Operator 0.6.0对Kubernetes 1.27的支持有限,建议检查Operator官方版本兼容性说明,必要时升级Operator到兼容Kubernetes 1.27的版本(如0.12及以上)。
内容的提问来源于stack exchange,提问作者Soorya Prakash
相关产品推荐
相关产品推荐

