Перейти к содержанию

Ролевая модель размещения нагрузки платформы "Боцман"

Описание


Ролевая модель призвана улучшить ваш опыт распределения нагрузки соответствующей определенным узлам.
Это может быть полезно при использовании узлов с различными характеристиками: как привычных mCPU, RAM, Gi, так и скрытых Ghz или iops

С помощью данного инструмента, вы можете назначить определенную роль для объекта WorkerPool:

  • bootsman-worker (1)
  • bootsman-ingress (2)
  • bootsman-gpu (3)
  • bootsman-storage (4)
  • custom (5)
  1. Роль без ограничений или привилегий.
  2. Роль для размещения ingress контроллеров
  3. Роль для размещения GPU
  4. Роль для размещения хранилищ дискового пространства
  5. Любые ваши роли

Внимание!

Роли с именами bootsman-* зарезервированы системой и не могут использоваться как custom

Каждая назначенная роль добавляет label для всех узлов объекта WorkerPool:

  • bootsman-worker
    node-role.kubernetes.io/worker
    
  • bootsman-ingress
    node-role.kubernetes.io/ingress
    
  • bootsman-gpu
    node-role.kubernetes.io/gpu
    
  • bootsman-storage
    node-role.kubernetes.io/storage
    

А также возможно добавление Taint для всех узлов объекта WorkerPool, которым присвоена роль, с помощью опции preventOtherApplications:

Заметка

Для получение Taint на узлы потребуется пересоздание машин в режиме rolling release

Внимание!

Включение Taint может привести к остановке работы ваших приложений

apiVersion: provisioning.bootsman.tech/v1alpha1
kind: WorkerPool
spec:
  ...
  roles:
    - name: bootsman-ingress
      preventOtherApplications: false

Виды Taints:

  • bootsman-ingress
    node-role.kubernetes.io/bootsman-ingress: NoExecute
    node-role.kubernetes.io/bootsman-ingress: NoSchedule
    
  • bootsman-gpu
    node-role.kubernetes.io/bootsman-gpu: NoExecute
    node-role.kubernetes.io/bootsman-gpu: NoSchedule
    
  • bootsman-storage
    node-role.kubernetes.io/bootsman-storage: NoExecute
    node-role.kubernetes.io/bootsman-storage: NoSchedule
    

Добавление Ролей

Yaml

apiVersion: provisioning.bootsman.tech/v1alpha1
kind: WorkerPool
...
spec:
...
  roles:
    - name: bootsman-worker
      preventOtherApplications: false
    - name: bootsman-gpu
      preventOtherApplications: false
    - name: bootsman-ingress
      preventOtherApplications: false
    - name: bootsman-storage
      preventOtherApplications: false

UI

UI Roles UI Roles