Every object in kubernetes yaml object file is represented by main 4 keys:
apiVersion - Which version of the Kubernetes API you're using to create this object
kind - Represent a concrete instance of a concept on the cluster, like a pod or namespace
metadata - Data that helps uniquely identify the object, including a name string, UID, and optional namespace
spec - What state you desire for the object