Как развернуть daemonset с разными лимитами ресурсов в kubernetes? - PullRequest
1 голос
/ 07 марта 2020

Мне нужно развернуть daemonset в Kubernetes, но для каждого модуля в разных узлах требуются разные запросы памяти и процессора для разных типов оборудования.

1 Ответ

1 голос
/ 08 марта 2020

Поскольку вы задали такой неточный вопрос, вы получите неточный ответ - обновите свой вопрос с более подробной информацией, и вы получите лучший ответ

Использование 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

Если вместо этого вы имеете в виду, что у вас есть смешанный набор, если экземпляров, и вы хотите, чтобы ваше one Deployment настроило параметры памяти в соответствии с запасом, доступным на целевом узле, тогда вам понадобится Mutating Admission Webhook , который может использовать любые бизнес-правила, которые вы используете Вы хотите настроить поле resource: в модуле, который должен быть запланирован на ближайшее время, чтобы настроить ресурсы по своему усмотрению. В качестве источника вдохновения вы можете использовать вертикальный автонабиратель pod , поскольку они делают примерно одно и то же только в другой временной шкале

...