icp mongodb异常

icp-mongodb-1 pod出现异常。导致ldap用户(普通用户)无法登陆,提示用户名或密码错误,kubectl logs显示错误信息如下:

通过检查icp-mongodb的相关资源信息。发现icp-mongodb-1挂载了73节点一个本地目录。路径:/var/lib/icp/mongodb。下面有两个文件夹 workdir和datadir。由于只有这个节点的mongodb启动存在异常。所以怀疑与这两个文件夹有关系。而mongodb集群应该是做自动同步的。所以直接把这两个文件夹删除(改名)。发现还是起不来。于是,把71节点对应的两个文件夹复制过来。修改workdir/openssl.cnf里icp-mongodb-0成icp-mongdb-1。scale sts至0然后至3。之后icp-mongodb-1状态心啊是running。icp-mongodb-2状态异常。删除icp-mongodb-2节点的workdir和datadir。scale sts至0然后至3。所有pod的状态均为Running。但是,发现icp-mongodb-1和icp-mongodb-2异常restart。查看两个pod的日志,显示心跳检查异常。rs id不匹配,同时。如果两个pod同时处于异常状态。icp界面无法访问。提示403错误

进入icp-mongodb pod。进入mongodb查看rs集群状态:

 mongo --ssl --sslPEMKeyFile /work-dir/mongo.pem --sslCAFile /work-dir/ca.crt
 use admin
 db.auth("username","password")
rs.status()

icp-mongodb-0 pod中显示rs集群只有一个节点。
icp-mongodb-1 pod中显示rs集群有三个节点。icp-mongodb-1为主节点,icp-mongodb-2为副节点,icp-mongodb-0节点异常:rs id不匹配。于是从icp-mongodb-1中执行rs.remove()删除icp-mongodb-0节点。同时删除icp-mongodb-0对应的workdir和datadir。然后删除这个pod,使这个pod重建(kubectl delete po)。icp-mongodb-0重建之后自动加入到rs集群。且无明显异常

但此时ldap用户仍然无法正常登陆。于是尝试将ldap 连接信息删除并重新添加,之后ldap用户可以正常登陆。

Author: jxin

发表评论

电子邮件地址不会被公开。 必填项已用*标注