kubernetes - 在 Kubernetes 中配置 StatefulSet 的 Pod 的起始索引
问题描述
从文档中我们都知道:
对于具有 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?
解决方案
不幸的是,这是不可能的,根据源代码0...n 只是副本切片的切片索引。查看最后一个参数newVersionedStatefulSetPod
推荐阅读
- c# - Visual Studio 2019 中的每个项目是否有启用“淡化未使用的使用”和“删除和排序使用”的设置?
- python - 作为线程执行的 Python 异步和同步函数
- azure-functions - Azure Durable Functions 扇出缩放行为不如预期
- bash - 在 MATLAB 中,如何将 Unix 标准输出存储在单元格数组中以进行多行命令?
- r - spark_apply 无法运行程序“Rscript”:在目录“C:\Users\username\AppData\Local\spark\spark-2.3.3-bin-hadoop2.7\tmp\local\spark-..\userFiles
- python - 从表中创建 Python 对象
- c# - 尝试将 IEntity 传递给列表构造函数并遇到问题
- wordpress - 删除产品图片块并将其替换为 HTML 代码
- google-apps-script - 如何调整变量以将事件从一个日历同步到组日历
- java - 对数组中大于输入值的数字求和