首页 > 解决方案 > aws firecracker 如何处理 vcpu?

问题描述

我已在 aws firecracker 中发出以下命令来配置 VM。我的主机中只有 8 个 vcpu。

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,它将进入挂起状态。但鞭炮没有显示任何错误或警告它刚刚启动了虚拟机。

谁能解释一下鞭炮如何处理vcpu?

标签: linuxkuberneteskata-containersfirecracker

解决方案


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

我不会将 Kubernetes 资源管理与 VMM 的行为方式混为一谈——它们是正交的。Firecracker 启动虚拟机,而不是 Pod。

如果您要在 Kubernetes 中使用使用 Firecracker 进行隔离的 OCI 运行时,则生成的 pod 的请求数/限制数将受到 Kubernetes(调度程序/kubelet)的限制。同样,这与 VMM 的行为方式是正交的。


推荐阅读