Я развернул набор состояний 3 pod mongodb в kubernetes и пытаюсь использовать новую строку соединения mongodb+srv
(mongodb 3.6) для подключения к службе безголового k8s, в которой есть записи SRV для членов кластера.
Однако соединение не устанавливается следующим образом (команда mongo выполняется на первом модуле в наборе sateful):
root@mongodb-0:/# mongo "mongodb+srv://mongodb-headless.mongo.svc.cluster.local"
FailedToParse: Hostname mongodb-0.mongodb-headless.mongo.svc.cluster.local. is not within the domain mongo.svc.cluster.local
try 'mongo --help' for more information
Вот конфигурация безголового сервиса:
kubectl describe svc/mongodb-headless -n mongo
Name: mongodb-headless
Namespace: mongo
Labels: app=mongodb-headless
chart=mongodb-1.0.1
heritage=Tiller
release=mongo
Annotations: service.alpha.kubernetes.io/tolerate-unready-endpoints=true
Selector: app=mongodb,release=mongo
Type: ClusterIP
IP: None
Port: mongodb 27017/TCP
TargetPort: 27017/TCP
Endpoints:
192.168.16.8:27017,192.168.208.3:27017,192.168.64.9:27017
Session Affinity: None
Events: <none>
Кластер mongodb функционален, и я могу подключаться к участникам через localhost или с помощью отдельной (не головной) службы (например, mongo "mongodb://mongodb.mongo.svc.cluster.local"
).
Я что-то упустил в mongodb+srv
требованиях / реализациях или мне нужно что-то настроить в моем развертывании k8s?