Ich habe einen Pod mit zwei Containern. Eine Anwendung und eine Datenbank. Ich habe zwei Repliken für die Kapsel.Expose zwei Ports, einer als ClusterIP und andere als NodePort
Ich möchte den Anwendungsport offenlegen, auf den außerhalb des Clusters zugegriffen wird, und ich möchte den Datenbankport nicht verfügbar machen.
Aber ich möchte auf den Datenbank-Port mit DNS zugreifen, um den Verkehr auszugleichen.
Ich kann zwei Dienste als NodePort erstellen und den Anwendungsanschluss und anderen Dienst als ClusterIP verfügbar machen, um den Datenbankport freizugeben.
Ich könnte auch eine Verbindung zu Localhost vom Anwendungsserver herstellen, da der Verkehr zuvor ausgeglichen wurde. Legen Sie den App-Server nur als Knotenport offen.
Die Frage ist: Konnte ich den Datenbankport als Cluster-IP und den App-Port als nodeport mit nur einem Dienst verfügbar machen?
Vielen Dank.
Wenn die Datenbank nur für die Anwendung im Pod läuft, warum ist sie selten? Ich würde sagen, das ist der Microservice-Ansatz. Einfache isolierte Anwendungen. – Jxadro
Zunächst replizieren Sie Microservices. Wenn Ihre db keine ernsthafte Replikationszauberei ausführt (oder Ihre Dienste keinen Status teilen), treten Probleme auf, sobald Sie mehrere Instanzen ausführen. Es ist auch vorzuziehen, den Statusspeicher (db) skalieren zu können und jeden separat zu warten. Wenn Ihr SVC etwas Sinnvolles tut, könnte es sein, dass Sie Pods hinzufügen müssen, die zwar * stopfen *, aber nicht diejenigen, die den Status speichern. Eine andere Sache ist die Datenpersistenz - wie bewahren Sie Daten über Pods auf, die zerstört werden (es sei denn, Sie brauchen keine Persistenz). Es gibt mehr dazu, aber Char Limit tritt in ... :) –