spec.NodeSelector
apiVersion: v1 kind: Pod metadata: name: nginx labels: env: test spec: containers: - name: nginx image: nginx imagePullPolicy: IfNotPresent nodeSelector: disktype: ssd
apiVersion: v1 kind: Pod metadata: name: nginx spec: nodeName: foo-node # schedule pod to specific node containers: - name: nginx image: nginx imagePullPolicy: IfNotPresent
Karpenter
nodeSelector: topology.kubernetes.io/zone: us-west-2a karpenter.sh/capacity-type: spot
nodeSelector: karpenter.sh/provisioner-name: XXXXX
DaemonSet
Stop DaemonSet by appliying a nodeSelector
kubectl patch daemonset <name-of-daemon-set> -p '{"spec": {"template": {"spec": {"nodeSelector": {"non-existing": "true"}}}}}'
Start DaemonSet by removing the nodeSelector :
kubectl patch daemonset <name-of-daemon-set> --type json -p='[{"op": "remove", "path": "/spec/template/spec/nodeSelector/non-existing"}]'
Activities
- CKA v1.21: Understand how to use Labels, Selector and Annotations
- CKA v1.18: Use label selectors to schedule Pods
- CKA v1.15: Understand how to use Labels, Selector and Annotations
- Use
NodeSelector
assign pod to specific node
Related terms
- Kubernetes scheduling
kubectl label
kubectl apply
nodeAffinity
- Kubernetes Pod Topology Spread Constraints
See also
- Kubernetes nodes,
node.kubernetes.io
K8s Node controller (node-controller),MemoryPressure, DiskPressure, NodeHasDiskPressure, events, NodeNotReady
, Node-pressure Eviction, RemovingNode, ProviderID,kubectl node-shell, kubectl describe nodes
- Pods:
kubectl apply
,kubectl [ pod get | top | delete | describe pods ]
,InitContainers, PodInitializing, CrashLoopBackOff, ImagePullPolicy:, NodeAffinity, NodeSelector, Terminated
Advertising: