Documentation
      ¶
    
    
  
    
  
    Overview ¶
Package scheduler implements the Kubernetes Mesos scheduler.
Index ¶
- type MockScheduler
 - func (m *MockScheduler) KillTask(taskId string) error
 - func (m *MockScheduler) LaunchTask(task *podtask.T) error
 - func (m *MockScheduler) Offers() (f offers.Registry)
 - func (m *MockScheduler) Reconcile(task *podtask.T)
 - func (m *MockScheduler) Run(done <-chan struct{})
 - func (m *MockScheduler) Tasks() (f podtask.Registry)
 
- type Scheduler
 
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type MockScheduler ¶ added in v1.2.0
MockScheduler implements SchedulerApi
func (*MockScheduler) KillTask ¶ added in v1.2.0
func (m *MockScheduler) KillTask(taskId string) error
func (*MockScheduler) LaunchTask ¶ added in v1.2.0
func (m *MockScheduler) LaunchTask(task *podtask.T) error
func (*MockScheduler) Offers ¶ added in v1.2.0
func (m *MockScheduler) Offers() (f offers.Registry)
func (*MockScheduler) Reconcile ¶ added in v1.2.0
func (m *MockScheduler) Reconcile(task *podtask.T)
func (*MockScheduler) Run ¶ added in v1.2.0
func (m *MockScheduler) Run(done <-chan struct{})
func (*MockScheduler) Tasks ¶ added in v1.2.0
func (m *MockScheduler) Tasks() (f podtask.Registry)
type Scheduler ¶ added in v1.2.0
type Scheduler interface {
	Tasks() podtask.Registry
	sync.Locker // synchronize changes to tasks, i.e. lock, get task, change task, store task, unlock
	Offers() offers.Registry
	Reconcile(t *podtask.T)
	KillTask(id string) error
	LaunchTask(t *podtask.T) error
	Run(done <-chan struct{})
}
    Scheduler abstracts everything other components of the scheduler need to access from eachother
      
      Directories
      ¶
    
    | Path | Synopsis | 
|---|---|
| 
       Package components implements independent aspects of the scheduler which do not use Framework or Scheduler internals, but rely solely on the Scheduler interface. 
         | 
      Package components implements independent aspects of the scheduler which do not use Framework or Scheduler internals, but rely solely on the Scheduler interface. | 
| 
         
          
            algorithm
            
            
          
           
      Package algorithm implements the SchedulerAlgorithm 
         | 
      Package algorithm implements the SchedulerAlgorithm | 
| 
         
          
            algorithm/podschedulers
            
            
          
           
      Package podschedulers defines an interface (w/ implementations) for matching pods against offers. 
         | 
      Package podschedulers defines an interface (w/ implementations) for matching pods against offers. | 
| 
         
          
            binder
            
            
          
           
      Package binder implements the Binder which launched a task and let the executor do the actual binding. 
         | 
      Package binder implements the Binder which launched a task and let the executor do the actual binding. | 
| 
         
          
            controller
            
            
          
           
      Package controller implements the scheduling controller which waits for pod events from the queuer (i.e. 
         | 
      Package controller implements the scheduling controller which waits for pod events from the queuer (i.e. | 
| 
         
          
            deleter
            
            
          
           
      Package deleter implements the deleter which listens for pod DELETE events from the apiserver and kills tasks for deleted pods. 
         | 
      Package deleter implements the deleter which listens for pod DELETE events from the apiserver and kills tasks for deleted pods. | 
| 
         
          
            errorhandler
            
            
          
           
      Package errorhandler implements the ErrorHandler which handles scheduer error and possibly requeue pods for scheduling again. 
         | 
      Package errorhandler implements the ErrorHandler which handles scheduer error and possibly requeue pods for scheduling again. | 
| 
         
          
            framework
            
            
          
           
      Package framework implements the Mesos scheduler. 
         | 
      Package framework implements the Mesos scheduler. | 
| 
         
          
            podreconciler
            
            
          
           
      Package podreconciler implements pod reconcilation of pods which failed to launch, i.e. 
         | 
      Package podreconciler implements pod reconcilation of pods which failed to launch, i.e. | 
| 
         
          
            tasksreconciler
            
            
          
           
      Package taskreconciler implement Mesos task reconcilation. 
         | 
      Package taskreconciler implement Mesos task reconcilation. | 
| 
       Package config provides mechanisms for low-level scheduler tuning. 
         | 
      Package config provides mechanisms for low-level scheduler tuning. | 
| 
       Package constraint exposes Marathon-like constraints for scheduling pods. 
         | 
      Package constraint exposes Marathon-like constraints for scheduling pods. | 
| 
       Package errors contains all scheduler wide used errors 
         | 
      Package errors contains all scheduler wide used errors | 
| 
       Package ha encapsulates high-availability scheduler concerns. 
         | 
      Package ha encapsulates high-availability scheduler concerns. | 
| 
       Package integration implements integration tests. 
         | 
      Package integration implements integration tests. | 
| 
       Package meta defines framework constants used as keys in k8s annotations that are attached to k8s pods. 
         | 
      Package meta defines framework constants used as keys in k8s annotations that are attached to k8s pods. | 
| 
       Package metrics defines and exposes instrumentation metrics of the scheduler. 
         | 
      Package metrics defines and exposes instrumentation metrics of the scheduler. | 
| 
       Package podtask maps Kubernetes pods to Mesos tasks. 
         | 
      Package podtask maps Kubernetes pods to Mesos tasks. | 
| 
       Package queuer implements a Pod Queuer which stores and yields pods waiting being scheduled. 
         | 
      Package queuer implements a Pod Queuer which stores and yields pods waiting being scheduled. | 
| 
       Package resource contains the Mesos scheduler specific resource functions 
         | 
      Package resource contains the Mesos scheduler specific resource functions | 
| 
       Package service contains the cmd/k8sm-scheduler glue code 
         | 
      Package service contains the cmd/k8sm-scheduler glue code | 
| 
       Package uid encapsulates unique identifiers code used by the scheduler. 
         | 
      Package uid encapsulates unique identifiers code used by the scheduler. | 
 Click to show internal directories. 
   Click to hide internal directories.