Linux: 成本管理
优化方案
针对 aws EKS 集群
1 阶段优化:
- 产品成本优惠覆盖:
- saving plain 实例优惠覆盖
- saving plain 实例优惠覆盖
- 减少节点数
- 减少副本数。服务占用资源多同时使用率小的,优先减少副本数
- node 节点优化。根据节点资源信息,合理采用同类型成本最优实例
- 减少副本数。服务占用资源多同时使用率小的,优先减少副本数
- 符合实际的实例类型:
- 优化 pod request 和 limit 值。根据服务实际资源消耗情况,给 pod 设置合理的资源请求量,推荐 cpu request/limit 比值为1:1.5
- 选择合适的实例类型。根据节点资源消耗情况,更换实例类型,如内存型、cpu 计算型、通用弄
- 优化 pod request 和 limit 值。根据服务实际资源消耗情况,给 pod 设置合理的资源请求量,推荐 cpu request/limit 比值为1:1.5
2 阶段优化(提升节点 CPU 利用率):
- 服务自动伸缩带动节点扩缩:
- 无状态服务设置 hpa 动态扩缩容机制。分析服务资源占用趋势配置 hpa,如 以 cpu 占比触发 hpa。减少资源使用量低时间段成本。
- 设置 eks node 节点动态扩缩容。优化触发值。
- 优化服务启动参数。根据服务资源用量设置合适的启动参数。如 jvm 堆内存与 g1关系,堆内存与 pod 内存比重。
- 无状态服务设置 hpa 动态扩缩容机制。分析服务资源占用趋势配置 hpa,如 以 cpu 占比触发 hpa。减少资源使用量低时间段成本。
- 服务可用性保障
- pod 快速就绪。缩短服务检查间隔,如,添加 startUP 探针应用 java 服务启动慢问题,缩短 liveness、readiness 检查间隔。
- 服务平滑启动。
- pod preStop 机制:需要研发配合提供探活接口,同时需要结合 pod terminationGracePeriodSeconds 合理配置。
- ELB负载均衡: 设置注册延时时间、ELB 健康检查、Pod readiness gate 来提升访问成功率。
- pod preStop 机制:需要研发配合提供探活接口,同时需要结合 pod terminationGracePeriodSeconds 合理配置。
- pod 干扰功能,保证 pod 最小可用数。
- 优化 pod 集群问题容忍时间。 缩短容忍时间,实现 pod 快速飘移。
- pod 快速就绪。缩短服务检查间隔,如,添加 startUP 探针应用 java 服务启动慢问题,缩短 liveness、readiness 检查间隔。
3 阶段优化:
- 网络优化:
- 自定义 hpa,灵活触发扩缩容
- 服务网格优化流量占比,合理控制熔断、故障自治。如 istio、kuma
- 自定义 hpa,灵活触发扩缩容
- 混合实例:
- 节点按需实例与spot抢占实例混合,采用 pod 节点分布约束功能
- 节点按需实例与spot抢占实例混合,采用 pod 节点分布约束功能