runtimeclass

package
v1.19.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 26, 2020 License: Apache-2.0 Imports: 19 Imported by: 3

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

View Source
const PluginName = "RuntimeClass"

PluginName indicates name of admission plugin.

Variables

This section is empty.

Functions

func Register

func Register(plugins *admission.Plugins)

Register registers a plugin

Types

type RuntimeClass

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

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

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

Validate makes sure that pod adhere's to RuntimeClass's definition

func (*RuntimeClass) ValidateInitialization

func (r *RuntimeClass) ValidateInitialization() error

ValidateInitialization implements the WantsExternalKubeInformerFactory interface.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL