k8 - 避免部署在同一机器
需求:有些服务,如果一次性全部宕机,会出现严重问题。所以,副本不能装在同一台机子,避免因为重启等操作,导致服务出现问题。
比如:redis 如果一次性全部宕机,需要重新拉集群,总之就是特别麻烦。
避免部署在同一机器
复制 affinity 节点下的内容,还需要调整 values 的字段值,值与 app-label 对应
apiVersion: apps/v1
kind: Deployment
metadata:
name: redis
spec:
selector:
matchLabels:
app: example
replicas: 3
template:
metadata:
labels:
app: example
spec:
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app
operator: In
values:
- example
topologyKey: "kubernetes.io/hostname"
疯狂的妞妞 :每一天,做什么都好,不要什么都不做!