由于滚动更新不是状态集支持的功能,因此考虑尝试使用混合pod,其中种子节点将是状态集,而其他非种子节点将是部署。我正在尝试另一个问题中建议的这个链接:Statfulsets - akka clustering有没有办法可以将种子和非种子节点暴露为同一个服务,以便可以用一个外部IP命中它们?
答案 0 :(得分:1)
正确使用标签时可能......
对于种子节点,请使用如下:
apiVersion: apps/v1beta1
kind: StatefulSet
...
spec:
serviceName: akka-seed
selector:
matchLabels:
run: akka-seed
template:
metadata:
labels:
run: akka-seed
app: akka
对于工作节点,请使用如下:
apiVersion: apps/v1beta1
kind: Deployment
...
spec:
template:
metadata:
labels:
run: akka-worker
app: akka
在服务中,您可以通过以下方式引用:
apiVersion: v1
kind: Service
metadata:
name: akka
spec:
ports:
...
selector:
app: akka
这将从两个组中选择pod。