Does Kubernetes develop the code for creating Pod object or it is just a part of container engine like Docker or cri-o?
Pod is kubernetes specific abstraction for which kubernetes has implemented code. Pod is a logical grouping of containers. A pod can have one or more than one containers. When a user asks Kubernetes to create a pod with two containers in it Kubernetes API server takes the request and kubernetes code instructs kubelet to actually start the containers from the docker image.
Kubelet which is part of kubernetes uses docker or cri-o or containerd via a concept called Container runtime interface(CRI) to actually invoke lifecycle operations (start, stop etc)on the container.