Kubernetes already has a rich set of resources, starting from pods as building blocks to higher-level resources such as stateful sets and deployments. Modern cloud-native applications can be deployed in terms of Kubernetes resources and their high-level configuration options. However, they are not sufficient when human expertise and operations are required. Kubernetes enables extending its own API with new resources and operates them as Kubernetes-native objects with the following features:
- RESTful API: New resources are directly included in the RESTful API so that they are accessible with their special endpoints.
- Authentication and authorization: All requests for new resources go through the steps of authentication and authorization, like native requests.
- OpenAPI discovery: New resources can be discovered and integrated into OpenAPI specifications...