为了保持服务的稳定性,我们通常会采用打散的方式分布Pod,从而避免单点故障,针对重要业务,我们可以采用k8s的拓扑平均分配调度pod,打散业务。
我们先看下面的例子
k8s集群里面有3个Node
NAME STATUS ROLES AGE VERSION
worker-1 Ready 2m58s v1.21.1
worker-2 Ready 2m58s v1.21.1
worker-3 Ready 2m58s v1.21.1
创建Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: dummy
namespace: dummy
spec:
replicas: 3
selector:
matchLabels:
type: dummy
template:
metadata:
labels:
type: dummy
spec:
topologySpreadConstraints:
- maxSkew: 1
topologyKey: kubernetes.io/hostname
whenUnsatisfiable: ScheduleAnyway
labelSelector:
matchLabels:
type: dummy
containers:
- name: pause
image: k8s.gcr.io/pause:3.1
其中
可以看到每个节点上面的pod 的个数非常平均。
留言与评论(共有 0 条评论) “” |