2017-11-03 5 views
0

Ich benutze RPC-Protokoll-App als Mikro-Service und ein API-Gateway vor ihnen als Proxy.kubernetes RPC-Mikro-Service mit API-Gateway

Nun möchte ich k8s verwenden, um Mikro-Service bereitzustellen, das API-Gateway ist aus k8s-Cluster, RPC-Mikro-Service wird von k8s bereitgestellt, gibt es drei Replikate RPC-Mikro-Service in meinem Cluster.

Meine Frage ist, wie könnte ich direkt auf k8s Pod zugreifen, weil ich einen Verbindungspool bauen muss, um diese Verbindungen zu halten, zum Beispiel habe ich drei RPC-Mikro-Service-Pod.

das ist meine Architektur architecture image

Antwort

1

Sie sollten Ihren RPC Mikro-Service aus einer Hülse direkt, sondern über einen Kubernetes Dienst nicht verbrauchen.

Zuerst müssen Sie Ihren RPC als öffentlichen K8S-Dienst verfügbar machen, der Ihnen einen Port bietet, an dem er abhört. Mit der IP des Clusters (kann natürlich mehr als einer sein) und diesem Port können Sie Ihren RPC-Micro-Service nutzen.

Überprüfen Sie die Dokumente zu lernen, wie es zu entlarven:

https://kubernetes.io/docs/concepts/services-networking/service/

Sie einen Pod direkt hostNetwork Konfigurationsparameter zugreifen können. Kubernetes empfiehlt jedoch nicht: https://kubernetes.io/docs/concepts/configuration/overview/

Wenn Sie eine gemeinsame Sitzung oder etwas ähnliches zwischen Ihren Replikaten behalten möchten, würde ich eine andere externe Komponente wie Redis oder etwas ähnliches verwenden.

+0

Vielen Dank für Ihren Kommentar, ich stellte die RPC als öffentliche K8S-Dienst, und setzen Sie die Session Affinität zu ClientIP. wenn mein API-Gateway den k8s-Dienst zugreifen, nur eine Pod-Antwort, weil die Sitzung Affinität, die beiden ist andere Schoten wurden nie benutzt – Codisan

Verwandte Themen