这个需求OpenKruise 能支持到吗?

我们有一个节点比较多的k8s集群。现在想部署advanced daemonset 。希望能做到部署该daemonset时,分批分阶段创建pod,而不是一次全部创建完,这个需求OpenKruise 能支持到吗?目前看 只能通过node label做动作了。

展开
收起
嘟嘟嘟嘟嘟嘟 2024-01-04 07:58:00 74 分享 版权
3 条回答
写回答
取消 提交回答
  • OpenKruise 是一个针对 Kubernetes 的开源扩展,它提供了一些增强功能来简化工作负载的管理。根据您的需求,您希望在部署 Advanced DaemonSet 时能够分批分阶段创建 Pod。

    OpenKruise 确实支持通过 Node label 进行操作,但它也提供了其他一些功能来满足您的需求。例如,您可以使用 OpenKruise 的 RollingUpdate 特性来实现分批更新 Pod。RollingUpdate 允许您逐步替换旧的 Pod,而不是一次性全部替换。这样可以减少对集群资源的影响,并确保在更新过程中服务的可用性。

    要使用 OpenKruise 的 RollingUpdate 特性,您需要在部署 Advanced DaemonSet 时设置相应的参数。以下是一个示例:

    apiVersion: apps/v1
    kind: DaemonSet
    metadata:
      name: my-daemonset
    spec:
      updateStrategy:
        type: RollingUpdate
        rollingUpdate:
          maxUnavailable: 1
          maxSurge: 1
      ...
    

    在这个示例中,updateStrategy 被设置为 RollingUpdate,并且设置了 maxUnavailablemaxSurge 参数。这意味着在更新过程中,最多只能有一个 Pod 同时处于不可用状态,并且最多只能有一个新的 Pod 同时处于就绪状态。这样可以确保在更新过程中服务的可用性。

    2024-01-06 11:54:27
    赞同 展开评论
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    OpenKruise的Advanced DaemonSet确实支持分批分阶段创建Pod。你可以通过设置.spec.updateStrategy字段来实现这个需求。

    例如,你可以设置maxUnavailablemaxSurge来控制每次更新时Pod的最大不可用数量和最大超出期望数量。这样,在部署Advanced DaemonSet时,Kubernetes会根据这些参数逐步创建或销毁Pod,从而实现分批分阶段的效果。

    以下是一个示例:

    apiVersion: apps/v1
    kind: DaemonSet
    metadata:
      name: my-daemonset
    spec:
      updateStrategy:
        type: RollingUpdate
        rollingUpdate:
          maxUnavailable: 1
          maxSurge: 1
      selector:
        matchLabels:
          app: my-app
      template:
        metadata:
          labels:
            app: my-app
        spec:
          containers:
          - name: my-container
            image: my-image
    

    在这个示例中,我们设置了maxUnavailable为1,maxSurge为1。这意味着在每次更新时,最多只有一个Pod处于不可用状态,同时最多有一个额外的Pod被创建。通过这种方式,我们可以实现分批分阶段创建Pod的需求。

    2024-01-05 17:12:50
    赞同 展开评论
  • 试试 增加 annotations daemonset.kruise.io/progressive-create-pod='true',并且 与 partition一起使用。此回答整理自钉群“OpenKruise 社区交流群”

    2024-01-04 18:05:04
    赞同 展开评论

国内唯一 Forrester 公共云容器平台领导者象限。

还有其他疑问?
咨询AI助理