Documentation ¶
Overview ¶
Package runtimeclass contains an admission controller for modifying and validating new Pods to take RuntimeClass into account. For RuntimeClass definitions which describe an overhead associated with running a pod, this admission controller will set the pod.Spec.Overhead field accordingly. This field should only be set through this controller, so vaidation will be carried out to ensure the pod's value matches what is defined in the coresponding RuntimeClass.
Index ¶
- Constants
- func Register(plugins *admission.Plugins)
- type RuntimeClass
- func (r *RuntimeClass) Admit(ctx context.Context, attributes admission.Attributes, ...) error
- func (r *RuntimeClass) InspectFeatureGates(featureGates featuregate.FeatureGate)
- func (r *RuntimeClass) SetExternalKubeClientSet(client kubernetes.Interface)
- func (r *RuntimeClass) SetExternalKubeInformerFactory(f informers.SharedInformerFactory)
- func (r *RuntimeClass) Validate(ctx context.Context, attributes admission.Attributes, ...) error
- func (r *RuntimeClass) ValidateInitialization() error
Constants ¶
const PluginName = "RuntimeClass"
PluginName indicates name of admission plugin.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type RuntimeClass ¶
RuntimeClass is an implementation of admission.Interface. It looks at all new pods and sets pod.Spec.Overhead if a RuntimeClass is specified which defines an Overhead. If pod.Spec.Overhead is set but a RuntimeClass with matching overhead is not specified, the pod is rejected.
func NewRuntimeClass ¶
func NewRuntimeClass() *RuntimeClass
NewRuntimeClass creates a new RuntimeClass admission control handler
func (*RuntimeClass) Admit ¶
func (r *RuntimeClass) Admit(ctx context.Context, attributes admission.Attributes, o admission.ObjectInterfaces) error
Admit makes an admission decision based on the request attributes
func (*RuntimeClass) InspectFeatureGates ¶ added in v1.18.0
func (r *RuntimeClass) InspectFeatureGates(featureGates featuregate.FeatureGate)
InspectFeatureGates allows setting bools without taking a dep on a global variable
func (*RuntimeClass) SetExternalKubeClientSet ¶ added in v1.19.0
func (r *RuntimeClass) SetExternalKubeClientSet(client kubernetes.Interface)
SetExternalKubeClientSet sets the client for the plugin
func (*RuntimeClass) SetExternalKubeInformerFactory ¶
func (r *RuntimeClass) SetExternalKubeInformerFactory(f informers.SharedInformerFactory)
SetExternalKubeInformerFactory implements the WantsExternalKubeInformerFactory interface.
func (*RuntimeClass) Validate ¶
func (r *RuntimeClass) Validate(ctx context.Context, attributes admission.Attributes, o admission.ObjectInterfaces) error
Validate makes sure that pod adhere's to RuntimeClass's definition
func (*RuntimeClass) ValidateInitialization ¶
func (r *RuntimeClass) ValidateInitialization() error
ValidateInitialization implements the WantsExternalKubeInformerFactory interface.