Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewRecommendationProvider ¶
func NewRecommendationProvider(vpaLister vpa_lister.VerticalPodAutoscalerLister, recommendationProcessor vpa_api_util.RecommendationProcessor) *recommendationProvider
NewRecommendationProvider constructs the recommendation provider that list VPAs and can be used to determine recommendations for pods.
Types ¶
type AdmissionServer ¶
type AdmissionServer struct {
// contains filtered or unexported fields
}
AdmissionServer is an admission webhook server that modifies pod resources request based on VPA recommendation
func NewAdmissionServer ¶
func NewAdmissionServer(recommendationProvider RecommendationProvider, podPreProcessor PodPreProcessor) *AdmissionServer
NewAdmissionServer constructs new AdmissionServer
func (*AdmissionServer) Serve ¶
func (s *AdmissionServer) Serve(w http.ResponseWriter, r *http.Request)
Serve is a handler function of AdmissionServer
type ContainerResources ¶
type ContainerResources struct {
Requests v1.ResourceList
}
ContainerResources holds resources request for container
type NoopPreProcessor ¶
type NoopPreProcessor struct{}
NoopPreProcessor leaves pods unchanged when processing
type PodPreProcessor ¶
PodPreProcessor processes the pods before building patches.
func NewDefaultPodPreProcessor ¶
func NewDefaultPodPreProcessor() PodPreProcessor
NewDefaultPodPreProcessor creates a default PodPreProcessor
type RecommendationProvider ¶
type RecommendationProvider interface {
GetContainersResourcesForPod(pod *v1.Pod) ([]ContainerResources, vpa_api_util.ContainerToAnnotationsMap, string, error)
}
RecommendationProvider gets current recommendation, annotations and vpaName for the given pod.