v0.0.0-...-d88c8b5 Latest Latest

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

Go to latest
Published: Feb 9, 2021 License: Apache-2.0 Imports: 16 Imported by: 0




View Source
const PluginName = "PodNodeSelector"

PluginName is a string with the name of the plugin


View Source
var NamespaceNodeSelectors = []string{"scheduler.alpha.kubernetes.io/node-selector"}

NamespaceNodeSelectors is for assigning node selectors labels to namespaces. Default value is the annotation key scheduler.alpha.kubernetes.io/node-selector


func Register

func Register(plugins *admission.Plugins)

Register registers a plugin


type Plugin

type Plugin struct {
	// contains filtered or unexported fields

Plugin is an implementation of admission.Interface.

func NewPodNodeSelector

func NewPodNodeSelector(clusterNodeSelectors map[string]string) *Plugin

NewPodNodeSelector initializes a podNodeSelector

func (*Plugin) Admit

Admit enforces that pod and its namespace node label selectors matches at least a node in the cluster.

func (*Plugin) SetExternalKubeClientSet

func (p *Plugin) SetExternalKubeClientSet(client kubernetes.Interface)

SetExternalKubeClientSet sets the plugin's client

func (*Plugin) SetExternalKubeInformerFactory

func (p *Plugin) SetExternalKubeInformerFactory(f informers.SharedInformerFactory)

SetExternalKubeInformerFactory configures the plugin's informer factory

func (*Plugin) Validate

Validate ensures that the pod node selector is allowed

func (*Plugin) ValidateInitialization

func (p *Plugin) ValidateInitialization() error

ValidateInitialization verifies the object has been properly initialized

Jump to

Keyboard shortcuts

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