kubernetesk8s.io/kubernetes/plugin/pkg/admission/antiaffinity Index | Files

package antiaffinity

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

LimitPodHardAntiAffinityTopology admission controller rejects any pod that specifies "hard" (RequiredDuringScheduling) anti-affinity with a TopologyKey other than kubeletapis.LabelHostname. Because anti-affinity is symmetric, without this admission controller, a user could maliciously or accidentally specify that their pod (once it has scheduled) should block other pods from scheduling into the same zone or some other large topology, essentially DoSing the cluster. In the future we will address this problem more fully by using quota and priority, but for now this admission controller provides a simple protection, on the assumption that the only legitimate use of hard pod anti-affinity is to exclude other pods from the same node.

Index

Functions

func NewInterPodAntiAffinity

func NewInterPodAntiAffinity() admission.Interface

NewInterPodAntiAffinity creates a new instance of the LimitPodHardAntiAffinityTopology admission controller

func Register

func Register(plugins *admission.Plugins)

Register registers a plugin

Source Files

admission.go doc.go

Version
v1.7.4
Published
Aug 17, 2017
Platform
js/wasm
Imports
6 packages
Last checked
25 seconds ago

Tools for package owners.