k api-resources lists all resources types of a cluster.
Object’s schema may be explained with
k explain <thing> (e.g.
k explain node
k explain node.spec). To see the complete schema use
k explain pods --recursive.
Objects have sections. Some of them are common, some are different between object types:
All objects have the “Type Metadata” and “Object Metadata” sections. Not all object types have “Spec” and “Status” sections. Such objects typically are for static data and do not have an associated controller (e.g. “Event” objects)
“Spec” and “Status” are the most important. User specifies “Spec” and reads “Status”. Controllers are responsible for turning “Spec” into “Status”. They read the “Spec” and write the “Status”:
kind specify the API version and the type of the object. API
version is the schema used to describe the object. There can be many versions
for a given object type. Usually only one schema exists for each type.
metadata section contains object’s metadata:
Specific to each object kind. It is used for configuration of the object.
It is specific to each object kind. It’s the last observed state of the thing the object represents.
Some “Status” sections have “Condition”. It contains vaious factors that indicate the health of the object. I.e., node has info about PIDPressure, MemoryPressure, DiskPressure and Ready.
Once an object is created from a YAML, Kubernetes will add additional
information to it (e.g.
status, and various metadata). The source YAML != YAML