API Overview (original) (raw)

This section provides reference information for the Kubernetes API.

The REST API is the fundamental fabric of Kubernetes. All operations and communications between components, and external user commands are REST API calls that the API Server handles. Consequently, everything in the Kubernetes platform is treated as an API object and has a corresponding entry in theAPI.

The Kubernetes API referencelists the API for Kubernetes version v1.33.

For general background information, readThe Kubernetes API.Controlling Access to the Kubernetes APIdescribes how clients can authenticate to the Kubernetes API server, and how their requests are authorized.

API versioning

The JSON and Protobuf serialization schemas follow the same guidelines for schema changes. The following descriptions cover both formats.

The API versioning and software versioning are indirectly related. The API and release versioning proposaldescribes the relationship between API versioning and software versioning.

Different API versions indicate different levels of stability and support. You can find more information about the criteria for each level in theAPI Changes documentation.

Here's a summary of each level:

API groups

API groupsmake it easier to extend the Kubernetes API. The API group is specified in a REST path and in the apiVersion field of a serialized object.

There are several API groups in Kubernetes:

Enabling or disabling API groups

Certain resources and API groups are enabled by default. You can enable or disable them by setting --runtime-config on the API server. The--runtime-config flag accepts comma separated <key>[=<value>] pairs describing the runtime configuration of the API server. If the =<value>part is omitted, it is treated as if =true is specified. For example:

Persistence

Kubernetes stores its serialized state in terms of the API resources by writing them intoetcd.

What's next