OpenShift容量規劃方法

OpenShift容量規劃步驟


OpenShift Container Platform(簡稱OCP)的容量規劃一共有5大步驟。這對於我們將應用從虛擬化向OCP遷移的步驟也有一定參考意義。


備註:OCP的訂閱最小單位是2個CPU Cores。如果服務器啓動了Intel CPU硬件超線程,那麼2 Core的訂閱將會被4個vCPU使用。



步驟1:確定VM或硬件的 CPU Cores數量和內存

OCP可以部署在物理機或虛擬機上,在大多數情況下,Intel CPU打開硬件超線程,因此2vCPU等於一個CPU Core。


需要回答的問題:

  • 用於OCP節點的VM的內存容量是多少?

  • 用於OCP節點的VM的vCPU數量是多少?

  • 是否使用CPU硬件超線程?


回答示例:

  • VM有64GB內存和4個vCPU,並使用了超線程


步驟2:計算所需的應用程序實例數

確定計劃部署多少個應用程序實例或Pod。OpenShift上部署的任何應用程序組件(例如數據庫、前端靜態服務器或消息代理實例)都被視爲應用程序實例。


需要回答兩個問題:

  • 預計在每個OpenShift環境中部署多少個應用程序實例?

  • 它們是什麼類型的應用程序(例如開發語言,開發框架,使用的數據庫)?


示例回答:

  • 開發環境中大約有1,250個應用程序實例,生產中大約有250個應用程序實例。

  • 主要部署Java,但也有一些Microsoft .NET Core和Ruby應用程序。使用很多MySQL。


步驟3:確定首選的最大OpenShift節點利用率

建議在需求增加的情況下保留一些空間,尤其是在爲工作負載啓用HPA時。根據在OpenShift上運行的應用程序的歷史負載,最大利用率會有所不同。


確定OpenShift節點的最大資源利用率問題。

  • 想爲增加的需求預留多少空間?

示例回答:

  • 我們希望以最大平均值運行節點總容量的80%(保留20%的備用容量)。


步驟4:確定總內存佔用量

考慮如下問題:

  • 應用程序的平均內存佔用量是多少?


示例回答:

  • 應用程序實例使用2GB內存或更少。

  • 通常爲JVM Heap分配2GB。


步驟5:計算總計

每個節點的有效內存:節點的總內存與節點最大利用率的乘積:

Effective per node memory capacity (GB) 

= Preferred maximum OpenShift node utilization (%) * Standard VM or hardware memory


總內存使用量爲:應用實例的數量與平均應用程序內存佔用量的乘積:

Total memory utilization

= Application instances * Average application memory footprint


OCP計算資源節點數:應用總內存需求量除以虛擬機或服務器的內存數量

Number of nodes required to cover utilization

= Total memory utilization / Standard VM or hardware memory


總共需要的CPU Cores:OCP計算資源的節點數與節點的CPU Cores的乘積。

Total required cores

= Number of nodes required to cover utilization * Standard VM or Hardware cores


有效虛擬CPU Core需求量(如果打開了硬件超線程):

 Effective virtual cores = Total required cores / 2


需要的OCP訂閱數(第一種是沒有打開硬件超線程,第二種是打開了硬件超線程,一個訂閱最少包含2 CPU Cores):

Number of OpenShift Container Platform subscriptions

= Total cores / 2


= Effective virtual cores / 2







計算範例


虛擬化環境的示例計算:

虛擬機有4個vCPU,打開了硬件超線程,因此有兩個有效虛擬CPU Core。

• Standard number of VM cores = 4 (hyperthreading used, 2 effective v

irtual cores)


虛擬機內存爲64GB

• Standard VM memory = 64 GB


節點最大利用率:

• Preferred maximum node utilization = 80%


每個應用需要的內存:

• Average application memory footprint = 2 GB


應用的總量:

• Number of application instances = 1500


訂閱總需求量:

每個OCP節點的有效內存量:64-GB與節點最大利用率的乘積,即每個OCP節點提供51G內存:

• Effective node memory capacity

= 80% preferred maximum node utilization * 64 GB standard VM memory

= 51 GB


總的內存使用量:每個應用消耗的內存與應用數量的乘積:

• Total memory utilization

= 1500 application instances * 2 GB average application memory footprint

= 3000 GB


OCP所需節點數:總內存需求量與每個節點能夠提供的有效內存的除法:

• Nodes required to cover utilization

= 3000 GB total memory utilization / 51 GB effective node memory capacity

= 59 nodes


總CPU Core需求量:所需OCP節點數與每個OCP節點的CPU Cores的乘積:

• Total cores

= 59 nodes required * 2 cores per node

= 118 total cores


總的訂閱數量:總需求的CPU Cores除以2(一套訂閱包含兩個Cores)

• Total subscriptions

= 118 total cores / 2 cores per subscription

= 59 subscriptions


因此,在這種情況下,需要購買59 套2-core OpenShift Container Platform subscriptions。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章