首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >aws鞭炮如何处理vcpu?

aws鞭炮如何处理vcpu?
EN

Stack Overflow用户
提问于 2019-11-23 14:02:58
回答 2查看 377关注 0票数 2

我在aws鞭炮中发出了以下命令来配置虚拟机。我的主机中只有8个vcpu。

代码语言:javascript
复制
curl --unix-socket /tmp/firecracker.socket -i  \
    -X PUT 'http://localhost/machine-config' \
    -H 'Accept: application/json'            \
    -H 'Content-Type: application/json'      \
    -d '{
        "vcpu_count": 20,
        "mem_size_mib": 1024,
        "ht_enabled": false
    }'

在Kubernetes中,如果我们尝试在主机中配置vcpu多于max vcpu的pod,它将进入挂起状态。但是firecracker没有显示任何错误或警告,它只是启动了虚拟机。

有没有人能解释一下firecracker是如何处理vcpu的?

EN

回答 2

Stack Overflow用户

发布于 2019-11-24 00:10:23

Firecracker是一个VMM,而vCPU只是一个运行在主机系统上的线程。

我不会把Kubernetes资源管理与VMM的行为混为一谈--它们是正交的。鞭炮启动虚拟机,而不是pod。

如果您要在Kubernetes中使用OCI运行时,该运行时利用鞭炮进行隔离,则最终pod的请求/限制的数量将由Kubernetes (计划程序/kubelet)限制。同样,这与VMM的行为方式是正交的。

票数 3
EN

Stack Overflow用户

发布于 2019-11-26 19:25:45

在“鞭炮”中,vCPU被实现为线程。

在实例启动时,Firecracker将为配置的每个vCPU创建一个线程。

例如,配置了4个vCPU的运行microvm有6个线程:主线程(处理设备仿真)、API线程(Fc_api)和4个vCPU线程。

代码语言:javascript
复制
ubuntu@ip-172-31-20-103:~$ ps H -o 'tid comm' 571
  TID COMMAND
  571 firecracker
  572 fc_api
  730 fc_vcpu3
  731 fc_vcpu2
  734 fc_vcpu1
  735 fc_vcpu0

使用鞭炮,您可以超额订阅CPU和内存,因此来宾内存的数量和vCPU的数量可能会远远高于实际的物理CPU和RAM。

Kubernetes的情况有所不同,因为当您在pod定义中指定cpu和内存限制时,它将防止您同时过度订阅内存和cpu。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59004999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档