Я развертываю mongodb в Kubernetes со следующими значениями:
mongodb:
persistence:
enabled: true
existingClaim: mongodb-pvc
volumePermissions:
enabled: true
mongodbRootPassword: hello
mongodbUsername: db_user
mongodbPassword: alongpassword
mongodbDatabase: db_read
replicaCount: 1
usePassword: true
Диаграмма развертывается без проблем. Но проблема возникает при подключении из приложения rails, развернутого в том же кластере, я устанавливаю ENV как
- name: MONGO_DB_URI
value: {{ template "core.mongodb.uri" . }}
и имею это в шаблоне
{{- define "core.mongodb.uri" -}}
{{- printf "mongodb://%s:%s@%s-%s:27017" .Values.mongodb.user .Values.mongodb.password .Release.Name "mongodb.default.svc.cluster.local" -}}
{{- end -}}
Значения предоставляются правильно, но когда rails пытается подключиться следующая ошибка выдается
Mongo::Auth::Unauthorized (User db_user (mechanism: scram) is not authorized to access admin (auth source: admin, used mechanism: SCRAM-SHA-1, used server: relese-name-mongodb.default.svc.cluster.local:27017 (STANDALONE)): Authentication failed. (on crelese-name-mongodb.default.svc.cluster.local:27017))
и получается следующее в пн go log
2020-02-25T18:36:33.722+0000 I ACCESS [conn2050] Supported SASL mechanisms requested for unknown user 'db_user@admin'
2020-02-25T18:36:33.733+0000 I ACCESS [conn2050] SASL SCRAM-SHA-1 authentication failed for db_user on admin from client 10.244.0.227:34092 ; UserNotFound: Could not find user db_user@admin