Dr. Stefan Schimanski
4d99ee7e54
Rename NewScheduler -> New
2015-11-12 01:33:50 +01:00
Dr. Stefan Schimanski
a727188c19
Fix broadcaster duplicate
2015-11-12 01:33:50 +01:00
Dr. Stefan Schimanski
182f49dac5
gofmt fixes
2015-11-12 01:33:50 +01:00
Dr. Stefan Schimanski
bb53cc26d3
Reorder scheduler packages
...
- Scheduler implemenation -> components
- types -> toplevel scheduler package
- integration_test.go -> integration
2015-11-12 01:33:50 +01:00
Dr. Stefan Schimanski
ef0a512c15
Move framework into components directory
2015-11-12 01:33:50 +01:00
Dr. Stefan Schimanski
3601292cff
Split MesosScheduler from actual Scheduler code holding the task registry
...
- rename types.Framework -> types.Scheduler
- rename MesosScheduler -> Framework
- transform MesosFramework into independent Scheduler glueing all scheduler
components, implementing types.Scheduler and owning the task registry
2015-11-12 01:33:50 +01:00
Dr. Stefan Schimanski
ae4673e86e
Split binder, deleter, podScheduler initialion from NewSchedulerLoop
2015-11-12 01:33:50 +01:00
Dr. Stefan Schimanski
5f070c11a7
Get rid of unecessary SchedulerLoopConfig detour to create a SchedulerLoop
2015-11-12 01:33:50 +01:00
Dr. Stefan Schimanski
0ebfc02d16
Separate SchedulerLoop instantiation from MesosScheduler
2015-11-12 01:33:50 +01:00
Dr. Stefan Schimanski
2c4142494a
Turn plugin into a SchedulerLoop and move to operations directory
2015-11-12 01:33:50 +01:00
Dr. Stefan Schimanski
18fbc1fe57
Make scheduler service variables private
2015-11-12 01:33:50 +01:00
Dr. Stefan Schimanski
23fa56adb1
Move etcd code from MesosScheduler into service
2015-11-12 01:33:50 +01:00
Dr. Stefan Schimanski
47e2f1fba8
Rename scheduler.{algorithm -> podschedulers}
2015-11-12 01:33:50 +01:00
Dr. Stefan Schimanski
8e3c648ca0
Rename schedcfg -> schedulerConfig
2015-11-12 01:33:50 +01:00
Dr. Stefan Schimanski
beaaf81ee3
Move fcfs and types to scheduler.algorithm module
2015-11-12 01:33:50 +01:00
Dr. Stefan Schimanski
b600e6c497
Rename KubernetesMesosScheduler.{Scheduler -> PodScheduler}
2015-11-12 01:33:50 +01:00
Dr. Stefan Schimanski
8fb77ce13e
Exit scheduler if sandbox overlay does not exist
2015-11-03 11:27:41 +01:00
Dr. Stefan Schimanski
ed09e5c29d
Add supported archive format for --mesos-sandbox-overlay
2015-11-03 11:27:41 +01:00
Dr. Stefan Schimanski
60ac1b932f
Simplify serveFrameworkArtifact with library function for basenames
2015-11-03 11:27:41 +01:00
Dr. Stefan Schimanski
4062e2be2f
Add executor sandbox overlay mechanism to distribute nsenter and socat
2015-11-03 11:27:40 +01:00
James DeFelice
b28333ca43
enable profiling for the kubelet/executor when turned on at the scheduler
2015-10-15 21:22:41 +00:00
Dr. Stefan Schimanski
aea7985b85
Take default limits for cpu and mem into account in FitPredicate
2015-10-10 12:29:52 +02:00
Sergiusz Urbaniak
42c84954fd
executor,scheduler: make launchGracePeriod configurable
2015-10-02 07:43:49 +02:00
Dr. Stefan Schimanski
4d4ebe9f18
Add Mesos slave attributes as node labels
...
- pre-create node api objects from the scheduler when offers arrive
- decline offers until nodes a registered
- turn slave attributes as k8s.mesosphere.io/attribute-* labels
- update labels from executor Register/Reregister
- watch nodes in scheduler to make non-Mesos labels available for NodeSelector matching
- add unit tests for label predicate
- add e2e test to check that slave attributes really end up as node labels
2015-09-26 09:46:56 +02:00
Sergiusz Urbaniak
d97ccea8c2
scheduler: add healthz endpoint
2015-09-16 09:15:20 +02:00
James DeFelice
cf908df89c
add flags for initial executor cpu and memory resources
2015-09-06 02:16:09 +00:00
James DeFelice
a1cea8dd87
Flexible resource accounting and pod resource containment:
...
- new: introduce AllocationStrategy, Predicate, and Procurement to scheduler pkg
- new: --contain-pod-resources flag (workaround for docker+systemd+mesos problems)
- new: --account-for-pod-resources flag (for testing overcommitment)
- bugfix: forward -v flag from minion controller to executor
2015-09-04 00:49:13 +00:00
James DeFelice
7fbd290167
moved cgroup-root detection to minion service; kube proxy now configured to run in mesos container
2015-09-02 06:13:26 +00:00
k8s-merge-robot
de60651cc0
Merge pull request #12858 from MatMaul/master
...
Auto commit by PR queue bot
2015-08-30 21:46:50 -07:00
Dr. Stefan Schimanski
cac58f6db7
Add --path-override to minion to change the PATH env var of subprocesses;
...
pass hostname-override through to kube-proxy (if defined)
2015-08-27 22:57:04 +00:00
Mathieu Velten
57f18a0e04
Add a dockercfg_path parameter to the Mesos scheduler (the main purpose is to handle private repos auth).
...
This is implemented by copying the dockercfg file in the executor work directory.
2015-08-26 11:21:08 +02:00
Kris Rousey
ae6c64d9bb
Moving everyone to unversioned client
2015-08-18 10:23:03 -07:00
Kris Rousey
2a17dbff13
Moving clientauth package to be under client
2015-08-12 14:43:17 -07:00
Eric Paris
fe6b633e2a
Convert for util.IP to just use a net.IP
...
pflag can handle IP addresses so use the pflag code instead of doing it
ourselves. This means our code just uses net.IP and we don't have all of
the useless casting back and forth!
2015-08-10 10:15:05 -04:00
Eric Paris
7cbb52ce04
Use the pflag StringSlice instead of implementing it ourselves
...
Saves code and makes our code easier to read because we just use normal
[]string instead of custom type.
2015-08-06 19:16:13 -04:00
Mike Danese
17defc7383
run gofmt on everything we touched
2015-08-05 17:52:56 -07:00
Mike Danese
8e33cbfa28
rewrite go imports
2015-08-05 17:30:03 -07:00
Dr. Stefan Schimanski
3fced6f07b
Set the cpu+mem default limit in the SchedulerServer
2015-08-04 12:15:17 +02:00
Dr. Stefan Schimanski
76dc61bcfb
Revert "Revert "Add Mesos hyperkube minion server ""
...
This reverts commit 8372b0d927
.
2015-07-31 20:33:04 +02:00
Mike Danese
8372b0d927
Revert "Add Mesos hyperkube minion server "
2015-07-31 10:47:42 -07:00
Dr. Stefan Schimanski
2b1ecd28f0
Add Mesos hyperkube minion server
...
The minion server will
- launch the proxy and executor
- relaunch them when they terminate uncleanly
- logrotate their logs.
It is a replacement for a full-blown init process like s6 which is not necessary
in this case.
2015-07-31 12:28:40 +02:00
Dr. Stefan Schimanski
1200125137
Share KM_* constants
2015-07-31 11:27:52 +02:00
Dr. Stefan Schimanski
0ebf1811f3
Add scheduler flag --executor-proxy-logv
2015-07-31 11:27:52 +02:00
Mike Danese
51a7a38f67
Merge pull request #12020 from wojtek-t/move_to_storage
...
Move storage-related code to pkg/storage
2015-07-30 16:23:03 -07:00
Dr. Stefan Schimanski
a2fa41b73f
Implement resource accounting for pods with the Mesos scheduler
...
This patch
- set limits (0.25 cpu, 64 MB) on containers which are not limited in pod spec
(these are also passed to the kubelet such that it uses them for the docker
run limits)
- sums up the container resource limits for cpu and memory inside a pod,
- compares the sums to the offered resources
- puts the sums into the Mesos TaskInfo such that Mesos does the accounting
for the pod.
- parses the static pod spec and adds up the resources
- sets the executor resources to 0.25 cpu, 64 MB plus the static pod resources
- sets the cgroups in the kubelet for system containers, resource containers
and docker to the one of the executor that Mesos assigned
- adds scheduler parameters --default-container-cpu-limit and
--default-container-mem-limit.
The containers themselves are resource limited the Docker resource limit which
the kubelet applies when launching them.
Fixes mesosphere/kubernetes-mesos#68 and mesosphere/kubernetes-mesos#304
2015-07-30 21:18:04 +02:00
Wojciech Tyczynski
3cbbe72f9f
Move etcd storage to pkg/storage/etcd
2015-07-30 15:42:06 +02:00
Wojciech Tyczynski
ee92aa3897
Prepare for extracting EtcdHelper interface
2015-07-23 09:37:39 +02:00
Joerg Schad
7af8bf6ed3
Add static pod support to mesos scheduler and executor.
...
- the mesos scheduler gets a --static-pods-config parameter with a directory with
pods specs. They are zipped and sent over to newly started mesos executors.
- the mesos executor receives the zipper static pod config via ExecutorInfo.Data
and starts up the pods via the kubelet FileSource mechanism.
- both - the scheduler and the executor side - are fully unit tested
2015-06-15 17:24:54 +00:00
James DeFelice
932c58a497
Kubernetes Mesos integration
...
This commit includes the fundamental components of the Kubernetes Mesos
integration:
* Kubernetes-Mesos scheduler
* Kubernetes-Mesos executor
* Supporting libs
Dependencies and upstream changes are included in a separate commit for easy
review.
After this initial upstream, there'll be two PRs following.
* km (hypercube) and k8sm-controller-manager #9265
* Static pods support #9077
Fixes applied:
- Precise metrics subsystems definitions
- mesosphere/kubernetes-mesos#331
- https://github.com/GoogleCloudPlatform/kubernetes/pull/8882#discussion_r31875232
- https://github.com/GoogleCloudPlatform/kubernetes/pull/8882#discussion_r31875240
- Improve comments and add clarifications
- Fixes https://github.com/GoogleCloudPlatform/kubernetes/pull/8882#discussion-diff-31875208
- Fixes https://github.com/GoogleCloudPlatform/kubernetes/pull/8882#discussion-diff-31875226
- Fixes https://github.com/GoogleCloudPlatform/kubernetes/pull/8882#discussion-diff-31875227
- Fixes https://github.com/GoogleCloudPlatform/kubernetes/pull/8882#discussion-diff-31875228
- Fixes https://github.com/GoogleCloudPlatform/kubernetes/pull/8882#discussion-diff-31875239
- Fixes https://github.com/GoogleCloudPlatform/kubernetes/pull/8882#discussion-diff-31875243
- Fixes https://github.com/GoogleCloudPlatform/kubernetes/pull/8882#discussion-diff-31875234
- Fixes https://github.com/GoogleCloudPlatform/kubernetes/pull/8882#discussion-diff-31875256
- Fixes https://github.com/GoogleCloudPlatform/kubernetes/pull/8882#discussion-diff-31875255
- Fixes https://github.com/GoogleCloudPlatform/kubernetes/pull/8882#discussion-diff-31875251
- Clarify which Schedule function is actually called
- Fixes https://github.com/GoogleCloudPlatform/kubernetes/pull/8882#discussion-diff-31875246
2015-06-10 20:58:39 +00:00