Kubernetes 中 Pod 调度与部署策略
1. 工作负载分离
在 Kubernetes 中,污点(taints)、容忍度(tolerations)和节点选择器(node selectors)除了用于基于节点特性的选择外,还可用于工作负载分离。比如运行批量工作负载时,协调器 Pod 和工作器 Pod 通常需要分开部署在不同节点上,以避免工作器节点的自动伸缩影响协调器 Pod 的稳定性。另外,为解决“吵闹邻居”问题,即两个 Pod 可能在节点上竞争资源,将它们分开部署能提升性能。
要实现工作负载分离,可结合已有技术并使用自定义节点标签。具体步骤如下:
1. 创建 Deployment 示例 :以下是一个使用任意容忍度和节点选择器实现工作负载分离的 Deployment 示例,使用 group=1 作为键值对:
apiVersion: apps/v1
kind: Deployment
metadata:
name: timeserver1
spec:
replicas: 5
selector:
matchLabels:
pod: timeserver1-pod
template:
metadata:
labels:
pod: timeserver1-pod
spec:
tolerations:
- key: group
operator: Equal
value: "1"
effect: NoS
超级会员免费看
订阅专栏 解锁全文
15

被折叠的 条评论
为什么被折叠?



