1

我已經在下面列出了更多的細節,但是我試圖回答的問題在標題中。我目前正試圖弄清楚這一點,但我想先在這裏問一下,以防有人知道副手的答案。什麼限制連接到Kubernetes服務的數量?

關於我的設置

我有一個谷歌Compute Engine的集羣(通過谷歌集裝箱引擎啓動)上運行的Kubernetes服務。它由一個服務(用於前端穩定IP),一個複製控制器和運行Python服務器的pod組成。服務器是一個在端口上偵聽的Python gRPC服務器。

有2個容器(在複製控制器中指定了2個副本),1個rc,1個服務和4個GCE實例(基於CPU設置爲自動調整爲5)。

我希望該服務能夠處理任意數量的想要傳輸信息的客戶端。但是,我目前正在看到該服務僅與16位客戶交談。

我假設連接的數量要麼受限於我擁有的GCE實例的數量,要麼受到豆莢數量的限制。我會做實驗,看看改變這些數字是如何影響事物的。

回答

3

想通了:

  • 這不是GCE實例的個數:我在流客戶端的數量沒有變化增加GCE實例的數量。
  • 這是豆莢數:每個豆莢顯然可以處理8個連接。我簡單地用kubernetes scale rc <rc-name> --replicas=3擴展了我的複製控制器以支持24個客戶端。

我將考慮根據傳入的HTTP請求進行自動縮放(使用水平pod縮放器?)的pod數量。

更新1:基於HTTP

Kubernetes doesn't currently support水平莢縮放。

更新2:

顯然有在玩其他的東西在這裏,如可用於服務器的線程池的大小。使用N個線程和P pod,我可以維護P * N個開放渠道。這對我來說特別有效,因爲我的客戶只需每隔幾秒輪詢一次服務器,並在非活動狀態時進入休眠狀態。

+0

Kubernetes確實支持從1.3開始自動縮小羣集http://blog.kubernetes.io/2016/07/autoscaling-in-kubernetes.html – nathanjosiah

相關問題