Project

General

Profile

Feature #45655

Updated by Sebastian Wagner almost 4 years ago

Maybe we should follow the design/"spirit" embedded in:  
 [[k8s's Assigning Pods to Nodes:https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity]] 

 It should be possible to indicate where to deploy a daemon taking into account: 

 - Nodes where certain resources are available: 
 - Other daemons are/or not running: 

 For example: 

 <pre><code class="yaml"> 
 Host-affinity: 
   cpu: '>= 50' cpu >= 50 
   ram: '>= 50' ram >= 50 
   available_devices: '>= 1' available_devices >= 1 
   labelSelector: 
   - label: labelSelector 
     -label: daemon_type 
     
      operator: in 
     
      value: osd 
 Host-antiaffinity: 
 labelSelector 
   labelSelector: 
   - label: -label: daemon_type 
     
    operator: in 
     
    value: mon 
 </code></pre> 

 and this means: 
 Deploy this daemon in a host with more than 50% of cpu available, more than 50% free ram, more than one available_devices for OSds.  
 In this host must run at least another OSD and no Monitors

Back