<p>I have issued below command in aws firecracker to configure the VM. I have only 8 vcpu in my host machine.</p>

<pre><code>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
    }'
</code></pre>

<p>In Kubernetes, if we tried to configure a pod with vcpu more than max vcpu in host it will move to the pending state. but firecracker not showed any error or warning it just started the vm.</p>

<p>Anyone kindly explain how firecracker handling the vcpu?</p>

<p>Firecracker is a VMM, and vCPUs are just a thread running on the host system. </p>

<p>I wouldn't mix up Kubernetes resource management with how VMMs behave -- they are orthogonal. Firecracker starts virtual machines, not pods. </p>

<p>If you were to use an OCI runtime in Kubernetes that utilizes Firecracker for isolation, the number of requests/limits for the resulting pod would be restricted by Kubernetes (scheduler/kubelet). Again, this is orthogonal to how the VMM behaves.</p>
