使用 F5 分散式雲端服務的 Kubernetes 架構選項(下)

上週推出的《使用 F5 分散式雲服務的 Kubernetes 架構選項》介紹了 Kubernetes 架構的架構 1 與架構 2,本文將繼續介紹 Kubernetes 架構的剩餘架構。






上週推出的《使用 F5 分散式雲服務的 Kubernetes 架構選項》介紹了 Kubernetes 架構的架構1與架構2,本文將繼續介紹 Kubernetes 架構的剩餘架構。

  • 架構 1:外部負載均衡器(安全 K8s 閘道)
  • 架構 2:CE(Customer Edge) 作為 pod(K8s 網站)
  • 架構 3:託管Namespace (vK8s)
  • 架構 4:託管 K8s (mK8s)

架構 3vK8sNamespace-as-a-Service

如果您使用的服務包括APPStack功能,那麼您可以考慮使用架構3和架構4。 在這些場景中,分散式雲節點會實際運行您的 k8s 工作負載。 我們不再將分散式雲與您的現有 K8s 平臺相集成。 分散式雲服務就是“K8s 平臺

一種簡單的運行 K8s 工作負載的方法是使用Virtual k8s (vK8s) 架構。 這可稱為「託管Namespace」,因為在分散式雲中建立 vK8s 專案便能夠在虛擬 Cluster 中獲得單個 Namespace。

您的 Namespace 可以完全託管(部署到 RE 上),也可以在虛擬機器(CE)上運行,或兩者兼有。 您的 kubeconfig 檔案將允許通過託管 API 伺服器存取 Namespace。 通過常規 kubectl CLI(或通過Web 控制台),您可以建立/刪除/管理 K8s 資源(Deployments、Services、Secrets、ServiceAccounts等)並查看應用資源指標。

因此,如果您希望將工作負載部署到沒有基礎設施的遠端區域,並希望在 F5 的 RE 中運行管理,或者如果您在多個網站中屬於不同的 K8SCluster,並希望通過單個集中式虛擬 Cluster 來管理多個 K8s Cluster,那麼這將是不二之選。

a
b

vK8s 的一些限制

在 vK8s 架構中,您沒有自己的 Cluster,而有一個託管 Namespace。 因此存在一些限制(例如,無法以 root 身份運行容器、無法綁定到特權埠或主機網路)。 您無法建立CRD、ClusterRole、PodSecurityPolicy 或Namespace,因此不支援 K8s 運維方式。 簡而言之,您沒有託管 Cluster,但有虛擬 Cluster 中的託管 Namespace。

架構 4:mK8s(託管 K8s)

在託管 k8s(mk8s,也稱為物理 K8s 或 pk8s)部署中,我們有一個企業級 k8s 發行版運行在您的網站上。 這意味著您可以使用分散式雲來部署/管理/升級 K8s 基礎架構,但需要管理 Kubernetes 資源。

其優勢包括第三方 K8s 管理解決方案的常見好處,以及一些關鍵優勢:

  • 支援多雲,提供面向 Azure、亞馬遜雲科技和 GCP 環境的自動化能力
  • 作為 SaaS 使用
  • 原生企業級流量控制
  • 可使用單個 K8s 管理介面對任意數量的託管 Cluster 進行邏輯管理

您可針對本地 Cluster 啟用 kubectl 訪問並禁用託管 API 伺服器,這樣您的 kubeconfig 檔案便可指向全域 URL 或本地端點。

mK8s 的另一個優勢在於,您在網站上運行的是完整的 K8s Cluster,而不僅僅是虛擬 Cluster 中的一個Namespace。

vK8s 上存在的限制(見上文)不適用於 mK8s,因此您可以根據需要運行特權 pod,使用利用ClusterRole 和 CRD 的運維方式,並執行其他需要 Cluster 範圍存取的任務。

c
d

使用 mK8s 進行流量管理控制


由於您的工作負載在由分散式雲管理的Cluster中運行,因此與早期架構中的非託管 Cluster 相比,我們可以對 K8s 流量應用更複雜的原生策略:

  1. 服務隔離可在 Cluster 內實施,因此預設情況下,特定 Namespace 中的 pod 無法與該Namespace 外部的服務通訊。
  2. 我們提供更多的 service 到 service 控制,因此您可以更精細地控制哪些服務可以與其他服務進行通信。
  3. 對 Cluster 外部存取的出向控制可通過 Namespace、labels、IP 範圍或其他方法原生實施。 例如:Svc A 可以存取 myapi.example.com,但不可以訪問其他互聯網服務。
  4. 通常應用於網路防火牆、WAF 等位置的所有相關策略(WAF 策略、Bot防禦、三層/四層策略等)均可在平臺內原生應用。

我花了很長時間才理解這個架構,又用了更長時間方充分認識到它的優勢。 但是,一旦您在考慮連接到全球骨幹網,並能夠在平臺內執行網路和應用程式交付的託管 K8s 平臺上本地的運行您的工作負載,安全性和流量管理優勢就變得非常引人注目。

總結

隨著 K8s 的不斷擴展,您的 Cluster 管理解決方案需要確保 K8s 服務的安全,無論這些服務是由分散式雲管理還是存在於不同的 Cluster中。

借助 F5 分散式雲服務的全球平臺部署,而非由您管理的單一 Cluster 部署,上述幾種不同架構可適應如今多樣的(不斷變化的) K8s 運行方式。

CE 節點通常指的是一個小計算節點,比如一台虛擬機或一個硬體; 該架構實際上是在 K8s 中運行的一組pod 及相關資源,用於建立分散式雲客戶網站。