-
Notifications
You must be signed in to change notification settings - Fork 36
StatefulSet IP 保持
Huanyu He edited this page Aug 2, 2022
·
4 revisions
对于 StatefulSet 类型的 workload,hybridnet 支持为其 Pod 自动保持 IP。如果一个 StatefulSet 类型的 Pod 开启了 IP 保持能力,它的地址一旦被分配之后在整个 StatefulSet 的生命周期内不会再发生变化
“StatefulSet IP 保持” 是默认启用的行为,但是在 Underlay 网络环境下,如果 StatefulSet Pod 需要重启后能够迁移网络域,保持 IP 的行为会导致问题,因为一旦 Underlay 的 Pod 被固定了 IP,其网络域也随之被固定。这种情况下,可以通过对于单独某个 StatefulSet 设置开启/关闭保持 IP 行为(优先于全局默认行为)
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: curl-ss
spec:
selector:
matchLabels:
app: curl-ss
replicas: 3
serviceName: "curl"
template:
metadata:
annotations:
networking.alibaba.com/ip-retain: "false" # Stop retaining ip addressed for the StatefulSet.
labels:
app: curl-ss
spec:
containers:
- args:
- -c
- sleep 999999999
command:
- /bin/sh
name: curl
image: tutum/curl:alpine
如果要关闭全局的 “StatefulSet IP 保持” 行为,可以通过
helm upgrade hybridnet hybridnet/hybridnet -n kube-system --set defaultIPRetain=false --reuse-values