I have issued below command in aws firecracker to configure the VM. I have only 8 vcpu in my host machine.
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
}'
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.
Anyone kindly explain how firecracker handling the vcpu?
Firecracker is a VMM, and vCPUs are just a thread running on the host system.
I wouldn't mix up Kubernetes resource management with how VMMs behave -- they are orthogonal. Firecracker starts virtual machines, not pods.
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.