kubernetes: k8s.io/kubernetes/plugin/pkg/admission/resourcequota Index | Files | Directories

package resourcequota

import "k8s.io/kubernetes/plugin/pkg/admission/resourcequota"

Package resourcequota enforces all incoming requests against any applied quota in the namespace context of the request

Index

Package Files

admission.go config.go controller.go doc.go resource_access.go

Constants

const PluginName = "ResourceQuota"

PluginName is a string with the name of the plugin

func CheckRequest Uses

func CheckRequest(quotas []corev1.ResourceQuota, a admission.Attributes, evaluator quota.Evaluator,
    limited []resourcequotaapi.LimitedResource) ([]corev1.ResourceQuota, error)

CheckRequest is a static version of quotaEvaluator.checkRequest, possible to be called from outside.

func IsDefaultDeny Uses

func IsDefaultDeny(err error) bool

IsDefaultDeny returns true if the error is defaultDeny

func LoadConfiguration Uses

func LoadConfiguration(config io.Reader) (*resourcequotaapi.Configuration, error)

LoadConfiguration loads the provided configuration.

func Register Uses

func Register(plugins *admission.Plugins)

Register registers a plugin

type Evaluator Uses

type Evaluator interface {
    // Evaluate takes an operation and checks to see if quota constraints are satisfied.  It returns an error if they are not.
    // The default implementation process related operations in chunks when possible.
    Evaluate(a admission.Attributes) error
}

Evaluator is used to see if quota constraints are satisfied.

func NewQuotaEvaluator Uses

func NewQuotaEvaluator(quotaAccessor QuotaAccessor, ignoredResources map[schema.GroupResource]struct{}, quotaRegistry quota.Registry, lockAcquisitionFunc func([]corev1.ResourceQuota) func(), config *resourcequotaapi.Configuration, workers int, stopCh <-chan struct{}) Evaluator

NewQuotaEvaluator configures an admission controller that can enforce quota constraints using the provided registry. The registry must have the capability to handle group/kinds that are persisted by the server this admission controller is intercepting

type QuotaAccessor Uses

type QuotaAccessor interface {
    // UpdateQuotaStatus is called to persist final status.  This method should write to persistent storage.
    // An error indicates that write didn't complete successfully.
    UpdateQuotaStatus(newQuota *corev1.ResourceQuota) error

    // GetQuotas gets all possible quotas for a given namespace
    GetQuotas(namespace string) ([]corev1.ResourceQuota, error)
}

QuotaAccessor abstracts the get/set logic from the rest of the Evaluator. This could be a test stub, a straight passthrough, or most commonly a series of deconflicting caches.

type QuotaAdmission Uses

type QuotaAdmission struct {
    *admission.Handler
    // contains filtered or unexported fields
}

QuotaAdmission implements an admission controller that can enforce quota constraints

func NewResourceQuota Uses

func NewResourceQuota(config *resourcequotaapi.Configuration, numEvaluators int, stopCh <-chan struct{}) (*QuotaAdmission, error)

NewResourceQuota configures an admission controller that can enforce quota constraints using the provided registry. The registry must have the capability to handle group/kinds that are persisted by the server this admission controller is intercepting

func (*QuotaAdmission) SetExternalKubeClientSet Uses

func (a *QuotaAdmission) SetExternalKubeClientSet(client kubernetes.Interface)

SetExternalKubeClientSet registers the client into QuotaAdmission

func (*QuotaAdmission) SetExternalKubeInformerFactory Uses

func (a *QuotaAdmission) SetExternalKubeInformerFactory(f informers.SharedInformerFactory)

SetExternalKubeInformerFactory registers an informer factory into QuotaAdmission

func (*QuotaAdmission) SetQuotaConfiguration Uses

func (a *QuotaAdmission) SetQuotaConfiguration(c quota.Configuration)

SetQuotaConfiguration assigns and initializes configuration and evaluator for QuotaAdmission

func (*QuotaAdmission) Validate Uses

func (a *QuotaAdmission) Validate(ctx context.Context, attr admission.Attributes, o admission.ObjectInterfaces) (err error)

Validate makes admission decisions while enforcing quota

func (*QuotaAdmission) ValidateInitialization Uses

func (a *QuotaAdmission) ValidateInitialization() error

ValidateInitialization ensures an authorizer is set.

Directories

PathSynopsis
apis/resourcequota
apis/resourcequota/installPackage install installs the experimental API group, making it available as an option to all of the API encoding/decoding machinery.
apis/resourcequota/v1alpha1Package v1alpha1 is the v1alpha1 version of the API.
apis/resourcequota/v1beta1Package v1beta1 is the v1beta1 version of the API.
apis/resourcequota/validation

Package resourcequota imports 35 packages (graph) and is imported by 58 packages. Updated 2019-09-09. Refresh now. Tools for package owners.