The kind field in k8s represents the designated name of an Object Schema (Pod, Container, etc.). The kind field (along with apiVersion) allows clients and servers to correctly interpret the structure and meaning of the data being serialized or deserialized.
Term
An Object Schema is the Object’s formal description of its structure and syntax.
When talking about Kinds, it means we are talking about Object Schemas; kind = Object Schema Name:
Types (Kinds) Categories
Kinds are further narrowed down into 3 categories:
- Objects — see k8s objects.
- Lists — a collection of resources with the same (usually)
kind:PodList,NodeList.
NOTE
Lists are a category of Object Schemas (
io.k8s.api.core.v1.PodList), and Collections are the endpoints (GET /api/v1/namespaces/{namespace}/pods) that expose the respective Objects that follow the Lists structure (see k8s api resources).
- Simple — used for actions on objects and for non-persistent entities:
Status,DeleteOptions,Binding.
IMPORTANT
Remember that all of the above are categories of Object Schemas.