PodNodeSelector / PodTolerationRestriction

Definition

PodNodeSelector and PodTolerationRestriction are Kubernetes admission controllers that help manage pod scheduling constraints. PodNodeSelector enforces default node selectors for pods in a namespace, ensuring they are scheduled on appropriate nodes. PodTolerationRestriction controls which tolerations can be added to pods, preventing them from being scheduled on nodes with specific taints unless explicitly allowed.

Secure Settings Example

apiVersion: v1
kind: ConfigMap
metadata:
  name: pod-node-selector
  namespace: kube-system
data:
  clusterDefaultNodeSelector: "environment=production"

apiVersion: v1
kind: PodTolerationRestriction
metadata:
  name: restrict-tolerations
  namespace: kube-system
spec:
  tolerations:
    - key: "dedicated"
      operator: "Equal"
      value: "production"
      effect: "NoSchedule"

Insecure Settings Example

apiVersion: v1
kind: ConfigMap
metadata:
  name: pod-node-selector
  namespace: kube-system
data:
  clusterDefaultNodeSelector: ""

apiVersion: v1
kind: PodTolerationRestriction
metadata:
  name: allow-all-tolerations
  namespace: kube-system
spec:
  tolerations:
    - operator: "Exists"