Kubernetes 多租戶簡介

什麼是多租戶?

在不同租戶之間共享應用程序或軟件的單個實例的想法稱爲多租戶。自雲環境興起以來,這種方法非常流行。現在,隨着 Kubernetes 的引入,開發人員和管理員需要在 Kubernetes 集羣上實施相同的方法。因爲這將提供更好的資源利用率,更好地管理底層計算資源,並降低成本。

這篇博文將討論在 Kubernetes 集羣中引入多租戶的各種可用方法,並將嘗試在所有這些方法之間進行比較。

如何使用多租戶更好?

在討論多租戶架構之前,我們應該知道是部署單個 支持多租戶的 Kubernetes 集羣更好, 還是應該部署多個集羣,每個租戶都不同。

首先,對此沒有特定規則,大多數組織根據易用性、管理等來決定這一點。部署多個集羣很簡單,因爲您不必擔心遵循其他最佳實踐,例如審計 RBAC,爲用戶建立標準做法。除此之外,成本在做出此決定時也起着重要作用。如果成本不是問題並且您想要簡單的架構,請部署多個集羣。然而,如果您的計算需求要少得多並且您想節省一些額外的成本,多租戶可能是更好的選擇。其他一些因素也起着至關重要的作用,例如集羣的生命週期,如果您的需求只是暫時的,多集羣可能是一個可行的選擇,因爲您不必在集羣上安裝任何其他東西。

擁有多個集羣的一個主要缺點是增加了管理開銷,特別是對於大型環境,需要付出很多努力來保持每個集羣的更新,還 需要更多的 安全審計。值得注意的是,雖然您可能會使用多集羣方法,但您不應該通過犯一些小錯誤(例如將所有應用程序部署在同一命名空間中)來阻止圍繞多租戶的未來擴展。

多租戶架構的不同方法

Kubernetes 中的多租戶可以分爲兩大類:

KubeCon Europe 2019 討論了各種方法,其中每種方法都可以列入上述兩個類別中的任何一個。

上圖概述了在您的環境中使用 Kubernetes 集羣的 4 種不同方法。

各種解決方案的比較

Kubernetes 中多租戶的一些用例

結論

總而言之,多租戶是 Kubernetes 的一個重要方案,它不是開箱即用的,但可以通過各種策略實現。它可以擴展 Kubernetes 的可用性,有助於實現更好的資源利用率,可以節省計費成本,對於集羣管理員以高效的方式管理各種微服務也很重要。

原文:https://www.cncf.io/blog/2021/12/20/introduction-to-multi-tenancy-in-kubernetes/

參考

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/YBxsZ5a_K6AWnOISTtiX3g