对于具有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"
上面的清单将创建如下三个窗格:
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
或者如果状态集只有一个副本,则其序数不是零,而是其他整数(例如 12 ),因此创建的唯一容器将被命名为 pod / zookeeper-np-12 ?
答案 0 :(得分:3)
不幸的是,这是不可能的,根据source code,0 ... n只是副本slice的slice索引。请参阅newVersionedStatefulSetPod