K8s Affinity

1 · J.WANG · March 19, 2024, 12:08 a.m.
k8s affinity# 亲和性是 Kubernetes(k8s)中的一个概念,它允许您根据各种因素来影响 Pod 的调度。 它可以帮助确保 Pod 根据您定义的规则放置在特定的节点或与其他 Pod 一起。 这对于优化性能、资源分配和 Kubernetes 集群的高可用性非常有用。 目标: 保证有状态容器节点分布安全。保障有状态数据安全。# 一般情况下我们部署的 POD 是通过集群自动调度选择某个节点的,默认情况下调度器考虑的是资源足够,并且负载尽量平均,但是有的时候我们需要能够更加细粒度的去控制 POD 的调度,比如我们内部的一些服务 gitlab 之类的也是跑在Kubernetes集群上的,我们就不希望对外的一些服务和内部的服务跑在同一个节点上了,害怕内部服务对外部的服务产生影响;有的时候呢我们两个服务直接交流比较频繁,又希望能够将这两个服务的 POD 调度到同样的节点上。这就需要用到 Kubernetes 里面的一个概念:亲和性,亲和性主要分为两类:nodeAffinity和podAffinity nodeSelector# 通过 lable 标签 查看 node label...