Kubernetes custom resources¶
Kubernetes custom resources (CRs) are extensions of the Kubernetes API that allow users to define their own resource kinds, distinct from the built-in resources like Pods or Deployments.^[400-devops__06-Kubernetes__k8s-ithelp__Day25__README.md] While standard resources are available out-of-the-box, custom resources are not typically installed by default and must be added to enable specific functionalities, making the Kubernetes system more modular.^[400-devops__06-Kubernetes__k8s-ithelp__Day25__README.md]
Role in Kubernetes Architecture¶
Custom resources are a foundational element for implementing complex operational logic within a cluster. They allow Kubernetes to handle domain-specific concepts by storing custom configurations or states.^[400-devops__06-Kubernetes__k8s-ithelp__Day25__README.md] This extensibility is crucial for advanced features, with many core and third-party tools relying on them to function.^[400-devops__06-Kubernetes__k8s-ithelp__Day25__README.md]
Relation to Core Components¶
Many components that interact with cluster Metrics or advanced automation are implemented as custom resources.^[400-devops__06-Kubernetes__k8s-ithelp__Day25__README.md]
- Metrics Server: Like other extension tools, the Metrics Server is categorized as a custom resource.^[400-devops__06-Kubernetes__k8s-ithelp__Day25__README.md]
- Vertical Pod Autoscaler (VPA): The VPA, which automatically sets resource requests and limits for Pods, is built upon the custom resource framework.^[400-devops__06-Kubernetes__k8s-ithelp__Day25__README.md]
- Autoscaling: Various autoscaling functionalities rely on the modular architecture provided by custom resources to implement scaling logic.^[400-devops__06-Kubernetes__k8s-ithelp__Day25__README.md]
Related Concepts¶
- Kubernetes API
- [[Operators]]
- Vertical Pod Autoscaler
Sources¶
^[400-devops__06-Kubernetes__k8s-ithelp__Day25__README.md]