Kubernetes - Für jeden Kunden einen eigenen Namespace erstellen

Kubernetes - Für jeden Kunden einen eigenen Namespace erstellen

Ich möchte eine traditionelle monolithische Anwendung in Kubernetes bereitstellen.
Tausende von Kunden verwenden diese Anwendung und jeder Kunde hat seine eigene Anwendungsinstanz. Wenn wir 5 Kunden haben, sollten wir 5 separate Instanzen dieser Anwendung ausführen.
Die Anwendung ruft auch die Kubernetes-API auf, um einige Jobs auszuführen.

Ich möchte sicherstellen, dass alles isoliert ist. Ist es eine gute Idee, für jeden Kunden einen separaten Namespace zu erstellen? Verursacht dies Leistungsprobleme? Gibt es dafür eine bessere Lösung?

Antwort1

Kurze Antwort:Ja, die Isolierung von Namespaces wäre ein guter Schritt in die richtige Richtung, aber eine IAM-Konfiguration und eine klare RBAC-Richtlinie sind ein Muss, wenn Sie versuchen, Clusterressourcen zu isolieren.

Lange Antwort:Worüber Sie sich hier Gedanken machen sollten, sind die Clusterkosten. Kubernetes ist von Haus aus robust und flexibel, sodass bei Leistungsengpässen die Skalierung nur einen Befehl entfernt ist. Wenn Ihr Cluster nicht vor Ort ist und Sie einen Cloud-Dienst nutzen möchten, empfehle ich Ihnen dringendGoogle Kubernetes Engine (GKE)da es für die Unterstützung mehrerer Mandanten optimiert ist.

Das GCP-Team erläutert die Best Practices für die Multi-Tenancy von K8Hier, ich denke, es wird eine viel klarere Antwort auf Ihre Frage liefern.

verwandte Informationen