OpenShift容量规划方法

OpenShift容量规划步骤前端


OpenShift Container Platform(简称OCP)的容量规划一共有5大步骤。这对于咱们将应用从虚拟化向OCP迁移的步骤也有必定参考意义。node


备注:OCP的订阅最小单位是2个CPU Cores。若是服务器启动了Intel CPU硬件超线程,那么2 Core的订阅将会被4个vCPU使用。数据库



步骤1:肯定VM或硬件的 CPU Cores数量和内存服务器

OCP能够部署在物理机或虚拟机上,在大多数状况下,Intel CPU打开硬件超线程,所以2vCPU等于一个CPU Core。app


须要回答的问题:框架

  • 用于OCP节点的VM的内存容量是多少?ide

  • 用于OCP节点的VM的vCPU数量是多少?ui

  • 是否使用CPU硬件超线程?spa


回答示例:线程

  • 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。

相关文章
相关标签/搜索