Diese Antwort ist veraltet. Ich habe eine detaillierte Schritt-für-Schritt-Anleitung geschrieben hier mit moderneren Methoden. Ich empfehle dringend, alles zu lesen.
Kurz gesagt, Sie führen eine Sidecar-App aus, um den Replikatsatz für Sie zu konfigurieren, und verwenden entweder einen Dienst pro Instanz oder pingen die K8s-API für die Pod-IP-Adressen.
Beispiel: Dies funktioniert nur in Google Cloud. Sie müssen Änderungen für andere Plattformen vornehmen, insbesondere in Bezug auf die Volumes:
- Folgen Sie dem Beispiel in https://github.com/leportlabs/mongo- k8s-sidecar.git
git clone https://github.com/leportlabs/mongo-k8s-sidecar.git
cd mongo-k8s-sidecar/example/
make add-replica ENV=GoogleCloudPlatform
(mach das dreimal)
- Stellen Sie über Dienste eine Verbindung zum Replikatsatz her.
mongodb://mongo-1,mongo-2,mongo-3:27017/dbname_?
- Sie können auch die Roh-Pod-IP-Adressen verwenden, anstatt einen Dienst pro Pod zu erstellen
- Verwenden Sie diesen https://github.com/thesandlord/kubernetes- pod-ip-finder.git