繁体   English   中英

如何在 kubernetes 中部署具有不同资源限制的 daemonset?

[英]How to deploy daemonset with different resource limits in kubernetes?

我需要在 Kubernetes 中部署 daemonset,但是不同节点中的每个 pod 需要针对不同硬件类型的不同内存和 cpu 请求。

既然你问了这样一个不精确的问题,你会得到一个不精确的答案——用更具体的问题更新你的问题,你会得到更好的答案

使用 helm 可以帮助您解决该问题,因为清单受 golang 模板评估的约束; 因此:

# values.yaml
instance_type: m5.large
---
# templates/deployment.yaml
  {{ $mem := "2Gi" }}
  {{ if (hasSuffix .Values.instance_type ".xlarge") }}
  {{   $mem = "4Gi"
  {{ end }}
  spec:
    template:
      spec:
        containers:
        - resources:
             requests:
               memory: {{ $mem }}

然后安装它,用户可以选择他们拥有的大小节点:

$ helm install --set instance_type=r5.xlarge my-release my/chart

相反,如果您的意思是您有一个混合的 if 实例集,并且您希望您的一个Deployment 根据其目标节点上的可用空间调整其内存设置,那么您将需要一个可以使用任何业务规则的Mutating Admission Webhook您想调整即将被调度的 Pod 的resource:字段,以根据您的需要设置其资源。 您可以使用垂直 Pod 自动缩放器作为灵感来源,因为它们在不同的时间范围内做大致相同的事情

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM