NodeName
- 不经过调度器, 忽略掉污点 约束
- 即便node节点设置了污点,只要指定NodeName,会直接分配到节点上。
- yaml:
apiVersion: v1
kind: Pod
metadata:
labels:
run: my-pod
name: nodename-pod
spec:
nodeName: "k8s-node2"
containers:
- image: nginx
name: my-pod
- kubectl describe node |grep Taint
- kubectl apply -f x.yaml
- 结果 可以分配到k8s-node2节点上。
DaemonSet
- 功能
- 为每个Node节点分配一个pod
- 加入的node会自动运行一个pod
- 应用场景
- yaml
apiVersion: apps/v1
kind: DaemonSet
metadata:
labels:
app: web
name: web
spec:
selector:
matchLabels:
app: web
template:
metadata:
labels:
app: web
spec:
containers:
- image: nginx
name: nginx
resources: {}
调度分配失败的原因总结
- 查看调度结果
- kubectl get pod <pod> -o wide
- 查看调度的原因
- kubectl describe pod <pod>
- 有节点,没有容忍
- 节点 cpu,内存不足
- 没有匹配到节点标签