Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Распределение по нодам в зависимости от периодичности нагрузки для волатильных подов #16

Open
nailgun opened this issue May 27, 2021 · 0 comments
Labels
feature New feature or request

Comments

@nailgun
Copy link
Member

nailgun commented May 27, 2021

Разделить сутки и неделю на "тайм-бакеты". Анализировать работу подов и выставлять для них podAntiAffinity preferredDuringScheduling.

Например, имеем под, который потребляет много памяти и CPU каждую ночь с 3 до 4. Для него добавится:

metadata:
  labels:
    kra-load-buckets.smp.io/mem-3h: yes
    kra-load-buckets.smp.io/cpu-3h: yes
podAntiAffinity:
  preferredDuringSchedulingIgnoredDuringExecution:
  - weight: 1
    podAffinityTerm:
      topologyKey: kubernetes.io/hostname
      labelSelector:
        matchExpressions:
        - key: kra-load-buckets.smp.io/mem-3h
          operator: Exists
  - weight: 1
    podAffinityTerm:
      topologyKey: kubernetes.io/hostname
      labelSelector:
        matchExpressions:
        - key: kra-load-buckets.smp.io/cpu-3h
          operator: Exists

Или под, котрый стартует каждую ночь с 2 и работает до 5, причём потребляет в основном только память:

metadata:
  labels:
    kra-load-buckets.smp.io/mem-2h: yes
    kra-load-buckets.smp.io/mem-3h: yes
    kra-load-buckets.smp.io/mem-4h: yes
podAntiAffinity:
  preferredDuringSchedulingIgnoredDuringExecution:
  - weight: 1
    podAffinityTerm:
      topologyKey: kubernetes.io/hostname
      labelSelector:
        matchExpressions:
        - key: kra-load-buckets.smp.io/mem-2h
          operator: Exists
  - weight: 1
    podAffinityTerm:
      topologyKey: kubernetes.io/hostname
      labelSelector:
        matchExpressions:
        - key: kra-load-buckets.smp.io/mem-3h
          operator: Exists
  - weight: 1
    podAffinityTerm:
      topologyKey: kubernetes.io/hostname
      labelSelector:
        matchExpressions:
        - key: kra-load-buckets.smp.io/mem-4h
          operator: Exists

Таким образом эти два пода по возможности будут размещены на разных нодах, т.к. у них есть пересекающийся label kra-load-buckets.smp.io/mem-3h.

@nailgun nailgun added the feature New feature or request label May 27, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant