首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Kubernetes:并行更新所有吊舱

Kubernetes:并行更新所有吊舱
EN

Stack Overflow用户
提问于 2022-08-12 21:06:12
回答 1查看 125关注 0票数 1

是否有任何方法同时对所有吊舱执行更新操作?

我们有一个在kubernetes中运行的进程,它是一个有状态的集合,在这里我们希望同时更新所有的豆荚。我们似乎找不到这方面的配置。我知道rollingUpdate,它一次只更新一个荚。

这就是我们目前的情况

代码语言:javascript
运行
复制
  updateStrategy:
    rollingUpdate:
      partition: 2
    type: RollingUpdate

我也尝试过使用maxUnavailable,但仍然没有工作。还有其他的黑客可以完成这件事吗?

EN

回答 1

Stack Overflow用户

发布于 2022-08-14 04:28:51

在使用状态集时,没有任何本地选项可用于同时更新所有吊舱。

最接近它的是使用并行Pod管理策略,但它只影响缩放操作(包括初始设置)的行为,不适用于更新。

尽管如此,OpenKruise项目有一个扩展的组件套件,使高级StatefulSet能够更新工作流。

下面是一个最小的工作示例,将同时升级所有的豆荚()

代码语言:javascript
运行
复制
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%这样的东西,以使其更具弹性。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73339803

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档