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 with apiVersion) allows clients and servers to correctly interpret the structure and meaning of the data being serialized or deserialized.