【问题标题】:How to set node taint for memcached using mcrouter helm chart?如何使用 mcrouter helm chart 为 memcached 设置节点污点?
【发布时间】:2019-04-04 01:07:33
【问题描述】:

我正在使用mcrouter helm chart 在 GKE 上设置 mcrouter。对于我的设置,我想为 memcached statefulset 和 mcrouter 设置一个专用节点池。

我是creating the node pool,带有使用--node-taints 标志的污点。为了确保 memcached statefulset 可以在此节点池上运行,我需要指定 tolerations,如 https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ 中所述。

如何指定容差?我目前正在使用 helm 创建我的设置,如下所示:

helm install stable/mcrouter --name=mycache --set memcached.replicaCount=15 --set memcached.resources.requests.memory=10Gi --set memcached.resources.requests.cpu=2 --set 资源。 requests.memory=512Mi --set resources.requests.cpu=1.5 --set resources.limits.memory=512Mi --set resources.limits.cpu=2 --set memcached.memcached.maxItemMemory=8432

【问题讨论】:

    标签: kubernetes google-kubernetes-engine kubernetes-helm


    【解决方案1】:

    Helm Chart 不支持。

    创建 DaemonSet 后,您可以对其进行修补。例如(更改为您想要的任何容忍度):

    $ kubectl patch daemonset mycache-mcrouter -p='{"spec":{"template": {"spec":  {"tolerations": [{"key": "key1", "operator": "Equal", "value": "value1", "effect": "NoSchedule"}]}}}}'
    

    您还可以将更改上游化以支持容忍度。您必须在 values.yaml(https://github.com/helm/charts/blob/master/stable/mcrouter/values.yaml) 文件中添加变量,然后在 daemonset.yaml 模板中选择使用它。

    【讨论】:

    • 谢谢,补丁应该可以解决问题。但只是好奇,daemonset.yaml 有什么需要改变的?我认为修改它会影响 mcrouter 而不是 memcached statefulset。
    • 您可能需要在 spec.template.spec 下添加类似{{- if eq .Values.tolerations "enabled" }} .... {{- end }} 的条件
    猜你喜欢
    • 2020-12-17
    • 1970-01-01
    • 2020-10-08
    • 1970-01-01
    • 1970-01-01
    • 2019-06-19
    • 1970-01-01
    • 2019-10-31
    • 1970-01-01
    相关资源
    最近更新 更多