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 ¶
MockScheduler implements SchedulerApi
func (*MockScheduler) KillTask ¶
func (m *MockScheduler) KillTask(taskId string) error
func (*MockScheduler) LaunchTask ¶
func (m *MockScheduler) LaunchTask(task *podtask.T) error
func (*MockScheduler) Offers ¶
func (m *MockScheduler) Offers() (f offers.Registry)
func (*MockScheduler) Reconcile ¶
func (m *MockScheduler) Reconcile(task *podtask.T)
func (*MockScheduler) Run ¶
func (m *MockScheduler) Run(done <-chan struct{})
func (*MockScheduler) Tasks ¶
func (m *MockScheduler) Tasks() (f podtask.Registry)
type Scheduler ¶
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.