约 536 字大约 2 分钟
特性 | DaemonSet | Deployment |
---|---|---|
目标 | 在每个节点上运行一个Pod实例 | 按需运行多个 Pod 实例,通过副本控制 Pod 数量和分布。 |
Pod分布 | 每个节点(包括新加入的节点)都会运行一个 Pod。 | 由调度器决定,可在多个节点间动态分布 |
使用场景 | 用于节点级别的任务(如监控Prometheus、日志收集Logstash、网络插件Calico等) | web服务、微服务,通常需要水平扩展。版本更新 |
Pod数量 | Pod 数量取决于节点数量(通常是 1 个 Pod/节点)。 | Pod 数量固定,由 replicas 属性决定。 |
调度方式 | Pod 调度与节点强绑定,每个节点都会被安排运行。 | Pod 调度灵活,调度器根据资源可用性动态选择节点运行。 |
扩展性 | 随着节点数量增加自动扩展 Pod。 | 通过修改 replicas 手动扩展或缩减 Pod。 |
Volume Plugin | ReadWriteOnce | ReadOnlyMany | ReadWriteMany |
---|---|---|---|
AWSElasticBlockStore | √ | ||
Glusterfs | √ | √ | √ |
HostPath | √ | ||
NFS | √ | √ | √ |
調度策略 | 匹配標籤 | 操作符 | 拓撲域⽀持 | 調度⽬標 |
---|---|---|---|---|
nodeAffinity | Node | In, NotIn, Exists,DoesNotExist, Gt, Lt | 否 | 指定主機 |
podAffinity | Pod | In, NotIn, Exists,DoesNotExist | 是 | Pod與指定Pod同⼀拓撲域 |
podAnitAffinity | Pod | In, NotIn, Exists,DoesNotExist | 是 | Pod與指定Pod同⼀拓撲域 |
资源名称 | 描述 |
---|---|
limits.cpu | 所有⾮终⽌状态的Pod,其CPU限额总量不能超过该值。 |
limits.memory | 所有⾮终⽌状态的Pod,其内存限额总量不能超过该值。 |
requests.cpu | 所有⾮终⽌状态的Pod,其CPU需求总量不能超过该值。 |
requests.memory | 所有⾮终⽌状态的Pod,其内存需求总量不能超过该值。 |
hugepages-<size> | 对于所有⾮终⽌状态的Pod,针对指定尺⼨的⼤内存⻚请求总数不能超过此值。 |
cpu | 与requests.cpu相同。 |
memory | 与requests.memory相同。 |
资源名称 | 描述 |
---|---|
requests.storage | 所有PVC,存储资源的需求总量不能超过该值。 |
persistentvolumeclaims | 在该命名空间中所允许的PVC总量。 |
<storage-classname> .storageclass.storage.k8s.io/requests.storage | 在所有与<storage-class-name> 相关的持久卷申领中,存储请求的总和不能超过该值。 |
<storage-classname> .storageclass.storage.k8s.io/persistentvolumeclaims | 在与storage-class-name相关的所有持久卷申领中,命名空间中可以存在的PVC总数。 |