Kubernetes计算资源管理--requests和limits(续2)
2017-03-19 16:19
627 查看
Kubernetes版本: 1.5.4
实验环境: Ubuntu 14.04 64bit
Docker版本: 1.26
(续) 上文已经对Kubernetes中requests参数的作用,也对docker和cgroup中对应的参数设置进行了说明。本文将对Kubernetes中
limits参数的作用进行分析。
1、对CPU资源的limit实验
(利用stress工具,进行压力测试)
pod cpu-ram-demo31的配置:
执行: docker
exec -it --privileged=true 57db /bin/bash
然后在容器中启动stress命令:
stress --vm 1 --vm-bytes 1000M
查看pod的状态:
CPU使用量在0.8核,说明limit参数的作用为限定cpu使用量的上限。
2、对memory资源的limit实验
pod cpu-ram-demo32的配置:
创建一个requests为1G,limit为2G的pod。
在执行stress压测到1.9G是进程运行正常。
查看容器的状态:
继续加大内存的使用量,超过2G后,进程则运行异常
3、对CPU资源的抢占实验
创建3个pod,pod的配置信息分别为:
容器启动后的信息:
步骤1:在pod cpu-demo-41中启动压测命令,pod的状态信息:
步骤2:在pod cpu-demo-42中启动压测命令,pod的状态信息:
此时cpu-demo-41的状态还是保持不变:
步骤3:在pod cpu-demo-43中启动压测,pod的状态信息:
删除pod cpu-demo-41, 创建cpu-demo-44, 其配置如下:
启动pod cpu-demo-44的压力测试后,cpu-demo-44的状态为:
说明: pod直接CPU发生抢占的时候,安装requests的值对CPU进行分配。
4、对Memory资源的抢占实验
创建三个pod,分别的配置如下:
三个pod依次启动压力测试后:
第一个pod使用内存5G,使用正常
第二个pod使用内存2G,使用正常
第三个pod使用内存1G,出现stress进程crash的情况。
重复执行该过程,发现第二个pod和第三个pod的进程都有可能出现挂掉的情况。
替换第二个pod(cpu-ram-demo522),替换的配置如下:
重复上述实验,则只会出现第三个pod挂掉的情况。
说明: 在memory出现抢占的情况下,requests的值设置小于limit值时,则可能出现进程挂掉的情况。
实验环境: Ubuntu 14.04 64bit
Docker版本: 1.26
(续) 上文已经对Kubernetes中requests参数的作用,也对docker和cgroup中对应的参数设置进行了说明。本文将对Kubernetes中
limits参数的作用进行分析。
1、对CPU资源的limit实验
(利用stress工具,进行压力测试)
pod cpu-ram-demo31的配置:
执行: docker
exec -it --privileged=true 57db /bin/bash
然后在容器中启动stress命令:
stress --vm 1 --vm-bytes 1000M
查看pod的状态:
CPU使用量在0.8核,说明limit参数的作用为限定cpu使用量的上限。
2、对memory资源的limit实验
pod cpu-ram-demo32的配置:
创建一个requests为1G,limit为2G的pod。
在执行stress压测到1.9G是进程运行正常。
查看容器的状态:
继续加大内存的使用量,超过2G后,进程则运行异常
3、对CPU资源的抢占实验
创建3个pod,pod的配置信息分别为:
容器启动后的信息:
步骤1:在pod cpu-demo-41中启动压测命令,pod的状态信息:
步骤2:在pod cpu-demo-42中启动压测命令,pod的状态信息:
此时cpu-demo-41的状态还是保持不变:
步骤3:在pod cpu-demo-43中启动压测,pod的状态信息:
删除pod cpu-demo-41, 创建cpu-demo-44, 其配置如下:
启动pod cpu-demo-44的压力测试后,cpu-demo-44的状态为:
说明: pod直接CPU发生抢占的时候,安装requests的值对CPU进行分配。
4、对Memory资源的抢占实验
创建三个pod,分别的配置如下:
三个pod依次启动压力测试后:
第一个pod使用内存5G,使用正常
第二个pod使用内存2G,使用正常
第三个pod使用内存1G,出现stress进程crash的情况。
重复执行该过程,发现第二个pod和第三个pod的进程都有可能出现挂掉的情况。
替换第二个pod(cpu-ram-demo522),替换的配置如下:
重复上述实验,则只会出现第三个pod挂掉的情况。
说明: 在memory出现抢占的情况下,requests的值设置小于limit值时,则可能出现进程挂掉的情况。
相关文章推荐
- Kubernetes计算资源管理--requests和limits(续)
- Kubernetes计算资源管理--requests和limits
- 实时计算平台中的弹性集群资源管理
- kubernetes学习4--资源配额管理(租户配额)
- 框计算之资源收录、管理与需求展现
- 一共81个,开源大数据处理工具汇总:查询引擎、流式计算、迭代计算、离线计算、键值存储、表格存储、文件存储、资源管理、日志收集系统、消息系统、分布式服务、集群管理、基础设施、搜索引擎、数据挖掘=监控
- [置顶] kubernetes--资源管理
- 华为FusionSphere概述——计算资源、存储资源、网络资源的虚拟化,同时对这些虚拟资源进行集中调度和管理
- 唯品会大数据存储和计算资源管理的痛、解决方法与思路
- kubernetes学习4--资源配额管理(租户配额)
- 深入解析 kubernetes 资源管理,容器云牛人有话说
- 计算资源管理选型
- 一共81个,开源大数据处理工具汇总:查询引擎、流式计算、迭代计算、离线计算、键值存储、表格存储、文件存储、资源管理、日志收集系统、消息系统、分布式服务、集群管理、基础设施、搜索引擎、数据挖掘=监控
- Kubernetes技术分析之资源管理
- 关于数据访问模式(六)—— 资源管理模式的重要性
- Linux对I-O端口资源的管理
- [技术对话]从项目管理到咨询服务,到度量计算
- C++中的健壮指针和资源管理(3)
- Windows2000的文件资源管理
- 管理and电子商务相关资源