是否有任何方法同时对所有吊舱执行更新操作?
我们有一个在kubernetes中运行的进程,它是一个有状态的集合,在这里我们希望同时更新所有的豆荚。我们似乎找不到这方面的配置。我知道rollingUpdate,它一次只更新一个荚。
这就是我们目前的情况
updateStrategy:
rollingUpdate:
partition: 2
type: RollingUpdate我也尝试过使用maxUnavailable,但仍然没有工作。还有其他的黑客可以完成这件事吗?
发布于 2022-08-14 04:28:51
在使用状态集时,没有任何本地选项可用于同时更新所有吊舱。
最接近它的是使用并行Pod管理策略,但它只影响缩放操作(包括初始设置)的行为,不适用于更新。
尽管如此,OpenKruise项目有一个扩展的组件套件,使高级StatefulSet能够更新工作流。
下面是一个最小的工作示例,将同时升级所有的豆荚()
apiVersion: apps.kruise.io/v1beta1
kind: StatefulSet
metadata:
name: sample
spec:
replicas: 5
serviceName: fake-service
selector:
matchLabels:
app: sample
template:
metadata:
labels:
app: sample
spec:
readinessGates:
- conditionType: InPlaceUpdateReady
containers:
- name: main
image: nginx:alpine
podManagementPolicy: Parallel
updateStrategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 100%注意,这肯定会导致停机,但是您可以调整到类似maxUnavailable: 50%这样的东西,以使其更具弹性。
https://stackoverflow.com/questions/73339803
复制相似问题