从文档中我们都知道:
对于具有 N 个副本的 StatefulSet,StatefulSet 中的每个 Pod 将被分配一个从 0 到 N-1 的整数序号,该序号在 Set 中是唯一的。
例子:
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: zookeeper-np
labels:
app: zookeeper-np
spec:
serviceName: zoo-svc-np
replicas: 3
selector:
matchLabels:
app: zookeeper-np
template:
metadata:
labels:
app: zookeeper-np
spec:
containers:
- name: zookeeper-np
image: zookeeper:3.5.6
ports:
- containerPort: 30005
- containerPort: 30006
- containerPort: 30007
env:
- name: ZOO_MY_ID
value: "1"
上面的清单将创建三个 pod,如下所示:
NAME READY STATUS STARTS AGE
pod/zookeeper-np-0 1/1 Running 0 203s
pod/zookeeper-np-1 1/1 Running 0 137s
pod/zookeeper-np-2 1/1 Running 0 73s
问题:
有没有办法将此起始索引 (0) 配置为从任何其他整数(例如 1、2、3 等)开始?
例如,要从 3 开始上述 pod 索引,以便创建的 pod 如下所示:
NAME READY STATUS STARTS AGE
pod/zookeeper-np-3 1/1 Running 0 203s
pod/zookeeper-np-4 1/1 Running 0 137s
pod/zookeeper-np-5 1/1 Running 0 73s
或者如果 statefulset 只有一个副本,它的序数不是零而是其他整数(例如12),所以创建的唯一 pod 将被命名为pod/zookeeper-np-12?