簡體   English   中英

副本會減少單節點 kubernetes 集群上的流量嗎?

[英]do replicas decrease traffic on a single node kubernetes cluster?

我是 kubernetes 世界的新手。 我正在嘗試在我的個人項目中實現 kubernetes 的優勢。

我在 docker 容器中有一個 api 服務,它從后端獲取數據。

我計划在 kubernetes 集群的單個外部端口上創建這個 api 服務容器的多個副本。 如果副本位於單個節點上,它們是否共享流量?

我的最終目標是創建這個 api 服務的多個實例,以使我的應用程序更快(用戶可以訪問多個 api 服務之一,這應該減少單個實例上的流量)。

我在 kubernetes 功能方面的想法是否正確?

您是對的,您的 API 服務的多個副本將分擔負載。 在 Kubernetes 中,有一個服務的概念,它會將流量發送到后端,在這種情況下,它是在 pod 中運行的 api 應用程序。 默認情況下,后端的選擇是隨機的。 此外,無論 Pod 是在單個節點上還是在不同節點上運行,流量都將根據標簽隨機分布在所有 Pod 中。

這也將使您的應用程序高度可用,因為您將使用部署來指定副本數量,並且每當可用副本數量少於所需副本時,Kubernetes 將提供新的 pod 以滿足所需狀態。

如果您添加 Web 服務器的多個實例/副本,它將分擔負載並避免單點故障。

但是,要實現這一點,您必須創建並公開一個服務。 您必須使用 Service 端點進行通信,而不是直接使用每個 pods IP。

服務公開一個端點。 它具有負載平衡。 它通常使用循環將負載/請求分發到服務負載均衡器后面的服務器。

Kubernetes 管理 Pod。 Pod 是容器的包裝器。 Kubernetes 可以在同一個節點(硬件)或跨多個節點調度多個 pod。 取決於你如何配置它。 您可以使用 Deployment 來管理管理 Pod 的 ReplicaSet。

通常建議避免直接管理 Pod。 Pod 可能會崩潰,突然停止。 Kubectl 將根據副本集配置自動為您創建一個新的。

使用部署,您還可以進行滾動更新。

你可以參考Kubernetes Docs來詳細閱讀。

是的。 這就是所謂的布雷斯悖論

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM