生产应用容器弹性扩缩容使用?

生产环境上在离线业务混合部署实现需要用到k8s的弹性扩缩容,而弹性扩缩容的上限又涉及到命名空间的quota限制。那么当一个新系统上线k8s的时候,是否应该限制命名空间的cpu\内存的quota,如果要限制的话,如何配置才是合理的。... 显示全部

生产环境上在离线业务混合部署实现需要用到k8s的弹性扩缩容,而弹性扩缩容的上限又涉及到命名空间的quota限制。那么当一个新系统上线k8s的时候,是否应该限制命名空间的cpu\内存的quota,如果要限制的话,如何配置才是合理的。

收起
参与7

查看其它 2 个回答jinhaibo 的回答

jinhaibo jinhaibo 课题专家组 技术管理 昆仑银行

在新系统上线到Kubernetes(k8s)时,确实应该考虑对命名空间的CPU和内存的quota进行限制,以确保资源的合理使用和避免资源浪费。以下是一些关于如何配置合理的命名空间quota的建议:
评估业务需求:
在设置quota之前,首先要了解新系统的业务需求,包括预期的负载、性能要求以及CPU和内存的使用模式。
评估系统在不同负载下的资源使用情况,以便为quota设置合理的上限。
设定初始quota:
根据业务需求,为命名空间设定一个初始的CPU和内存quota。这个quota应该能够满足系统在正常负载下的资源需求。
考虑到系统可能的扩展和增长,quota应该具有一定的弹性,以应对未来可能的需求增长。
使用ResourceQuota对象:
在Kubernetes中,ResourceQuota对象用于限制命名空间中资源的使用量。可以为命名空间创建一个或多个ResourceQuota对象,以限制不同类型的资源使用量。
监控与调整:
一旦设置了quota,就需要监控命名空间中资源的实际使用情况。这可以通过Kubernetes的监控工具(如Prometheus)来完成。
如果发现某个命名空间的资源使用量接近或达到quota上限,就需要根据实际情况进行调整。可能需要增加quota上限,或者优化应用程序以减少资源消耗。
配置Horizontal Pod Autoscaler (HPA):
HPA可以根据CPU或内存的使用情况自动扩展或缩减Pod的数量。这有助于在资源紧张时自动释放资源,并在需要时增加资源以满足需求。
可以为应用程序配置HPA,以确保在资源紧张时能够自动扩展Pod的数量,并在资源充足时缩减Pod的数量。
考虑垂直伸缩:
除了水平伸缩(增减Pod数量)外,还可以考虑垂直伸缩(增减Pod的资源限制)。Vertical Pod Autoscaler (VPA) 可以根据Pod的资源使用情况自动调整其资源限制。

银行 · 2024-05-13
浏览414

回答者

jinhaibo
技术管理 昆仑银行
评论67

jinhaibo 最近回答过的问题

回答状态

  • 发布时间:2024-05-13
  • 关注会员:4 人
  • 回答浏览:414
  • X社区推广