The kind
field in k8s represents the designated name of an object schema (Pod, Container, etc.). Object schema is an Object’s formal description of its structure and syntax.
When talking about kinds, it means we are talking about object schemas:
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 respectful Objects that follow the Lists structure.
- Simple — used for actions on objects and for non-persistent entities:
Status
,DeleteOptions
,Binding
IMPORTANT
Remember, all of the above are categories of object schemas.
NOTE
The
kind
field (along withapiVersion
) allows clients and servers to correctly interpret the structure and meaning of the data being serialized or deserialized.