尝试使用helm在复制集中创建数据库,在values.yaml
中使用以下值mongodb:
architecture: replicaset
auth:
rootPassword: "admin"
usernames:
- "user1"
passwords:
- "password1"
databases:
- "mydatabase"
replicaSetKey: myreplicaKey
使用以下命令安装图表:
helm install sam bitnami/mongodb --set architecture="replicaset",auth.rootPassword=password123 --values values.yaml
登录我的数据库:
export MONGODB_ROOT_PASSWORD=$(kubectl get secret --namespace default sam-mongodb -o jsonpath="{.data.mongodb-root-password}" | base64 --decode)
kubectl exec -ti sam-mongodb-0 -- mongo --authenticationDatabase admin -u root -p $MONGODB_ROOT_PASSWORD
但是看不到我的数据库"mydatabase"或特定用户user1;创建,我可以验证与管理员用户,但试图验证到"mydatabase"显示失败,因此不确定为什么会发生这种情况,因为它在独立而不是复制集中工作。
rs0:PRIMARY> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
rs0:PRIMARY> use admin
switched to db admin
rs0:PRIMARY> show users
{
"_id" : "admin.root",
"userId" : UUID("2b74bb99-5e18-434f-8350-9d54eb562230"),
"user" : "root",
"db" : "admin",
"roles" : [
{
"role" : "root",
"db" : "admin"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
}
我想知道是否有人知道我可能做错了什么。由于
删除PVC并重新认证,工作正常。
rs0:PRIMARY> use mydatabase
switched to db mydatabase
rs0:PRIMARY> db.auth('user1','password1')
1
我想我可能已经解决了这个问题,当我这样做的时候
helm install sam bitnami/mongodb --set architecture="replicaset",auth.rootPassword=password123 --values values.yaml --dry-run --debug
计算值返回空,因此更改为以下并计算值,将测试并确保其工作,但给我一点信心,值现在是可见的。
architecture: replicaset
replicaCount: 1
auth:
rootPassword: "admin"
username: "user1"
password: "password1"
database: "mydatabase"
replicaSetKey: capability123Key
再次尝试连接失败
rs0:PRIMARY> use mydatabase
switched to db mydatabase
rs0:PRIMARY> db.auth('user1','password1')
Error: Authentication failed.