我有一个用于同时重启状态集中的所有豆荚的用例。
kubernetes状态集是否支持所有豆荚的并发重新启动?
根据状态集文档,这可以通过将pod更新策略设置为并行来实现,如本例所示:
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: mysql-db
spec:
podManagementPolicy: Parallel
replicas: 3然而,这在实践中似乎不起作用,就像运行在EKS上的这个状态集所显示的那样:
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: producer
namespace: ragnarok
spec:
selector:
matchLabels:
app: producer
replicas: 10
podManagementPolicy: "Parallel"
serviceName: producer-service
template:
metadata:
labels:
app: producer
spec:
containers:
- name: producer
image: archbungle/load-tester:pulsar-0.0.49
imagePullPolicy: IfNotPresent重新启动按顺序进行,就好像忽略了滚出策略设置一样:
(base) welcome@Traianos-MacBook-Pro eks-deploy % kubectl get pods -n ragnarok | egrep producer
producer-0 1/1 Running 0 3m58s
producer-1 1/1 Running 0 3m56s
producer-2 1/1 Running 0 3m53s
producer-3 1/1 Running 0 3m47s
producer-4 1/1 Running 0 3m45s
producer-5 1/1 Running 0 3m43s
producer-6 1/1 Running 1 3m34s
producer-7 0/1 ContainerCreating 0 1s
producer-8 1/1 Running 0 16s
producer-9 1/1 Running 0 19s
(base) welcome@Traianos-MacBook-Pro eks-deploy % kubectl get pods -n ragnarok | egrep producer
producer-0 1/1 Running 0 4m2s
producer-1 1/1 Running 0 4m
producer-2 1/1 Running 0 3m57s
producer-3 1/1 Running 0 3m51s
producer-4 1/1 Running 0 3m49s
producer-5 1/1 Running 0 3m47s
producer-6 0/1 Terminating 1 3m38s
producer-7 1/1 Running 0 5s
producer-8 1/1 Running 0 20s
producer-9 1/1 Running 0 23s
(base) welcome@Traianos-MacBook-Pro eks-deploy % kubectl get pods -n ragnarok | egrep producer
producer-0 1/1 Running 0 4m8s
producer-1 1/1 Running 0 4m6s
producer-2 1/1 Running 0 4m3s
producer-3 1/1 Running 0 3m57s
producer-4 1/1 Running 0 3m55s
producer-5 0/1 Terminating 0 3m53s
producer-6 1/1 Running 0 4s
producer-7 1/1 Running 0 11s
producer-8 1/1 Running 0 26s
producer-9 1/1 Running 0 29s发布于 2022-02-21 00:25:43
正如文件所指出的那样,并行吊舱管理只有在缩放操作中才能有效。This option only affects the behavior for scaling operations. Updates are not affected.
也许你可以试试像kubectl scale statefulset producer --replicas=0 -n ragnarok和kubectl scale statefulset producer --replicas=10 -n ragnarok这样的东西
根据文档,应该删除所有豆荚,并通过使用并行策略对它们进行缩放来创建它们。
参考资料:https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#parallel-pod-management
https://stackoverflow.com/questions/71196230
复制相似问题