Every component in the Kubernetes system makes a request to the API server. The kubectl command line utility processes those API calls for us and allows us to format our request in a certain way. To know the cluster components status – kubectl get componentstatus
API Version: Kubernettes API version which indicates the path to ensure the API presents a clear, consistent, view of system resources and behaviour. The software version and the API version are not directly related.
Kind: Represents the kind of object you want to create, this is required field. Available kinds of obkects are pod, deployment, job, DaemonSet, ReplicaSet, ReplicationController etc.
Metadata: Data that helps uniquely identify the object, including a name string, UID and optional namespaces
Spec: Describes your desired state for the object and the characteristics you want the object to have. The format of the object spec is different for every object and contains nested fields specific to the object.
Container Spec: Specifies the pods container image, volumes and exposed ports for the container
Status: Describes the actual state of the object and is supplied and updated by the kubernetes system. At any given time, the kubernetes control plane actively manages an object’s actual state to match the desired state you supplied.
Example: kubectl apply -f nginx-deployment.yaml