Kubernetes - 為每個客戶創建單獨的命名空間

Kubernetes - 為每個客戶創建單獨的命名空間

我想在 Kubernetes 中部署傳統的單體應用程式。
成千上萬的客戶使用此應用程序,每個客戶都有自己的應用程式實例。如果我們有 5 個客戶,我們應該運行該應用程式的 5 個單獨的實例。
該應用程式還會呼叫 Kubernetes API 來運行一些作業。

我想確保一切都是隔離的,為每個客戶創建單獨的命名空間是個好主意嗎?它會導致一些效能問題嗎?有沒有更好的解決方法呢?

答案1

簡短回答:是的,命名空間隔離將是朝著正確方向邁出的良好一步,但在嘗試隔離叢集資源時,IAM 配置和明確的 RBAC 策略是必須的。

長答案:這裡您應該擔心的是叢集成本,Kubernetes 在設計上具有彈性和靈活性,因此如果您遇到效能瓶頸,擴充是一個命令。如果您的叢集不是本地叢集並且您計劃使用雲端服務,我強烈推薦Google Kubernetes 引擎 (GKE)因為它經過優化以支援多租戶。

GCP團隊詳細介紹K8s多租戶最佳實踐這裡,我認為這將為您的問題提供更清晰的答案。

相關內容