Wie stellt man Microservices in GCP bereit?

Wie stellt man Microservices in GCP bereit?

Was ich derzeit habe..

... ist eine Anwendung mit einer Microservices-Architektur, bei der die verschiedenen Dienste über GRPC mit einem Gateway kommunizieren, wobei das Gateway REST-Endpunkte bedient.

Ich stelle dieses System auf GCP bereit. Derzeit verfügt jeder Dienst über ein Docker-Image mit einer GKE-Arbeitslast. Jeder Dienst wird also mit einer öffentlichen IP-Adresse und einem öffentlichen Port bereitgestellt. Das Gateway ist ebenfalls ein Docker-Image auf GKE, das mit einer öffentlichen IP-Adresse und einem öffentlichen Port bereitgestellt wird.

Was ich möchte...

... ist die Bereitstellung, die meine lokale Bereitstellung widerspiegelt, wobei jeder Dienst über mit dem Gateway kommuniziert 127.0.0.1:{PORT}und nur das Gateway eine öffentliche IP-Adresse und einen öffentlichen Port verwendet. Ich hoffe, damit den Zugriff auf die Dienste auf das Gateway zu beschränken.

Wie kann ich das erledigen?

NOTIZ: Ich möchte die Dienste weiterhin als separate Git-Repositorys, also mit separaten Dockerfiles/Docker-Images.

Antwort1

Aufgrund der bereitgestellten Informationen gehe ich davon aus, dass Ihre „Dienste“, die Dockerfiles verwenden, Pods sind. Pods haben keine externen IP-Adressen.

Sie können einLoad Balancer mit Ingressum eine externe IP für den Gateway-Pod hinzuzufügen. Für andere Pods verwenden SieclusterIP-Dienstsodass sie nur innerhalb des Clusters verfügbar sind und Sie angeben können, welche Art von Dienst Sie wünschen.

verwandte Informationen