How kubernetes components work

when we create a deployment with shared pvc and a service (nodeport or loadbalancer) then:
-the pod is created by deployment controller
-the service will tell kube-proxy how to uses iptables
-the containers are created by kubelet and docker engine
-the volme is attached to containers by docker engine and kubelet
-the network provider(flannel,calico-cni) give ip to pod
Is the above correct?