我希望每个 Kubernetes 节点上都有一组相同的 pod。
如果我扩大部署,我希望新的 pod 能够运行在我扩大规模的新集群节点上。
我是否要为此使用所需的节点亲和性?
答案1
正如评论中所建议的:为了让节点运行同一组 Pod,你正在寻找一个DaemonSet。
虽然 Deployment 允许您控制所需的副本数量,但 DaemonSets 依赖其 nodeSelector 为每个与该选择器匹配的节点安排一个副本。
默认情况下(如果您未设置任何 nodeSelector),Pod 将被调度到所有节点。根据节点污点,可能需要一些容忍度:
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: foo
spec:
selector:
matchLabels:
foo: bar
template:
metadata:
labels:
foo: bar
spec:
tolerations:
- operator: Exists
containers:
...