Commit Graph

791 Commits

Author SHA1 Message Date
Dawn Chen
4910be6dcb Remove PodIP from ContainerStatus 2015-03-19 10:42:01 -07:00
Filip Grzadkowski
f89f91b7bd Validate that there is at least one container in the pod 2015-03-19 12:31:53 +01:00
Yu-Ju Hong
187cbcfabf Merge pull request #5627 from vmarmol/fix-test
Fix data race in imageManager test.
2015-03-18 18:24:18 -07:00
Yu-Ju Hong
05c61d2e47 Merge pull request #5622 from vmarmol/http
Add SelfLink to Kubelet http source.
2015-03-18 18:09:05 -07:00
Victor Marmol
6db6e41a34 Merge pull request #5632 from yujuhong/manifest
kubelet/config/http_test: use versioned ContainerManifest
2015-03-18 17:58:19 -07:00
Yu-Ju Hong
7b71780dfc kubelet/config/http_test: use versioned ContainerManifest 2015-03-18 17:40:40 -07:00
Dawn Chen
52e1ee9d5b Merge pull request #5619 from vmarmol/rate
Spread out pod status updates to apiserver.
2015-03-18 17:26:02 -07:00
Victor Marmol
3a3b950009 Fix data race in imageManager test.
The background monitoring thread was using the DockerClient before we
had written our fake data. This commit stops the background thread from
running during tests.

Fixes #5611.
2015-03-18 17:02:03 -07:00
Victor Marmol
ce96182cc3 Add SelfLink to Kubelet http source. 2015-03-18 16:38:41 -07:00
Victor Marmol
cda4b6c598 Spread out pod status updates to apiserver.
Lowers pod status interval to every 2m and spreads updates within that
time window.
2015-03-18 15:43:07 -07:00
Yifan Gu
027f6854d0 kubelet: Remove docker container in prober's interface
Also change
kubelet.docketIDToRef[dockertools.DockerID]*api.ObjectReference{} to
kubelet.containerIDToRef[string]*api.ObjectReference{}.
2015-03-18 14:28:27 -07:00
Yu-Ju Hong
6e8a8b741a Kubelet: simplify the lock acquring pattern
Avoid holding both podStatusesLock and podLock at the same time.
2015-03-18 11:45:29 -07:00
Victor Marmol
9586b39bb7 Merge pull request #5555 from fgrzadkowski/sync_pod_status
Periodically update pod status from kubelet.
2015-03-18 10:14:07 -07:00
Dawn Chen
f746123438 Merge pull request #5580 from ncdc/docker-ParseRepositoryTag
Use docker's ParseRepositoryTag when pulling
2015-03-18 08:55:56 -07:00
Dawn Chen
9e781bc57d Merge pull request #5569 from vmarmol/image-gc
Garbage collecting images in the Kubelet.
2015-03-18 08:55:08 -07:00
Filip Grzadkowski
1a352b74ba Periodically update pod status from kubelet. 2015-03-18 12:11:39 +01:00
Victor Marmol
d78ecf820e Garbage collecting images in the Kubelet.
Integrated the imageManager into the Kubelet and applies the garbage
collection policy every 5 minutes. The default policy allows up to 90%
disk usage, after which images are garbage collected to bring limit back
down to 80%.

Fixes #157.
2015-03-17 17:56:02 -07:00
Andy Goldstein
7b07960758 Use docker's ParseRepositoryTag when pulling 2015-03-17 20:15:13 -04:00
Yu-Ju Hong
b84de4e986 Merge pull request #5571 from vmarmol/fix
Adding errors to Kubelet events.
2015-03-17 16:14:58 -07:00
Dawn Chen
cbe4a1a679 Merge pull request #5510 from vmarmol/gc
Introduce and implement container GC policy
2015-03-17 16:02:17 -07:00
Victor Marmol
0c664a343c Adding errors to Kubelet events.
This will help while debugging issues that generate events.

Also removed unecessary log line.
2015-03-17 15:55:25 -07:00
Zach Loafman
5496686f33 Revert "Use docker's ParseRepositoryTag when pulling" 2015-03-17 15:16:33 -07:00
Salvatore Dario Minonne
31ddefc347 Finalize fields.Selector 2015-03-17 22:55:43 +01:00
Dawn Chen
2a5610dbcb Merge pull request #5558 from ncdc/docker-ParseRepositoryTag
Use docker's ParseRepositoryTag when pulling
2015-03-17 12:56:22 -07:00
Victor Marmol
d1ed571e28 Use containerGC in the Kubelet.
New policy default is 100 containers max.

Fixes #5457.
2015-03-17 10:50:32 -07:00
Victor Marmol
4c17c09a8f Separate GC policy into containerGC struct.
The policy today takes a min GC age, max dead containers per pod, and
max containers overall. When GC is called, only dead containers created
more than min GC age ago are considered. The policy tries to keep one
dead instance of every pod's containers.
2015-03-17 10:50:06 -07:00
Dawn Chen
5a04bf6316 Merge pull request #5512 from vmarmol/igc
Introduce and implement image GC policy
2015-03-17 10:36:22 -07:00
Andy Goldstein
c08f41c18b Use docker's ParseRepositoryTag when pulling 2015-03-17 13:23:17 -04:00
Victor Marmol
6bcbf12a3d Add image garbage collection policy to imageManager. 2015-03-17 09:19:04 -07:00
Victor Marmol
303a1f7ea1 Adding cAdvisor API to get image usage information. 2015-03-17 09:17:38 -07:00
Yu-Ju Hong
929fb63b33 Sync static pods from Kubelet to the API server
Currently, API server is not aware of the static pods (manifests from
sources other than the API server, e.g. file and http) at all. This is
inconvenient since users cannot check the static pods through kubectl.
It is also sub-optimal because scheduler is unaware of the resource
consumption by these static pods on the node.

This change syncs the information back to the API server by creating a
mirror pod via API server for each static pod.

 - Kubelet creates containers for the static pod, as it would do
   normally.

 - If a mirror pod gets deleted, Kubelet will re-create one. The
   containers are sync'd to the static pods, so they will not be
   affected.

 - If a static pod gets removed from the source (e.g. manifest file
   removed from the directory), the orphaned mirror pod will be deleted.

Note that because events are associated with UID, and the mirror pod has
a different UID than the original static pod, the events will not be
shown for the mirror pod when running `kubectl describe pod
<mirror_pod>`.
2015-03-17 08:45:56 -07:00
Filip Grzadkowski
18b728ff44 Revert "Periodically update pod status from kubelet." 2015-03-17 13:51:45 +01:00
Victor Marmol
009737e69e Merge pull request #5205 from fgrzadkowski/sync_pod_status
Periodically update pod status from kubelet.
2015-03-16 17:04:31 -07:00
Tim Hockin
b42652cd3d Retool mount detection for tests 2015-03-16 16:17:47 -07:00
Filip Grzadkowski
336525a27d Periodically update pod status from kubelet. 2015-03-16 23:03:03 +01:00
Tim Hockin
1725c23eb2 Implement volume plugin wrappers
Convert git_repo and secret into wrappers around empty_dir.
2015-03-16 14:07:58 -07:00
Victor Marmol
bdc1981eb5 Merge pull request #5433 from wojtek-t/remove_bound_pods
Remove BoundPods from Kubelet
2015-03-16 13:38:24 -07:00
Wojciech Tyczynski
5d95e9e671 Remove BoundPods from Kubelet 2015-03-16 19:17:21 +01:00
Jeff Lowdermilk
e37fd2a84d Merge pull request #5477 from dchen1107/clean
Convert RestartPolicy to string for v1beta3.
2015-03-16 10:23:52 -07:00
Dawn Chen
34e9c82c70 Convert RestartPolicy to string for v1beta3.
Fixed #3607 and spiritually support #5475
2015-03-13 18:38:07 -07:00
Victor Marmol
dc96ea6300 Run cAdvisor inside the Kubelet.
cAdvisor is started as a Kubelet dependency during startup of the
Kubelet before the sync loops start.
2015-03-13 16:06:02 -07:00
Victor Marmol
b00e82ed93 Merge pull request #5466 from dchen1107/docker
Fix a regression introduced lately: When any given PodInfraContainer on ...
2015-03-13 16:04:01 -07:00
Satnam Singh
ce7658a302 Merge pull request #5445 from vmarmol/unused
Remove unused handleUpdate() in Kubelet.
2015-03-13 16:00:17 -07:00
Dawn Chen
732d4cb2b9 Fix a regression introduced lately: When any given PodInfraContainer on a node
is killed, kubelet kills all remaining containers no matter which pod that
container belongs to.

Fixed #5373
2015-03-13 15:46:30 -07:00
Dawn Chen
0cc2b62b4a Merge pull request #5265 from ddysher/kubelet-post-status
kubelet post node status to master
2015-03-13 15:29:22 -07:00
Tim Hockin
caca5e7358 Add tmpfs support to EmptyDir
# *** ERROR: *** docs are out of sync between cli and markdown
# run hack/run-gendocs.sh > docs/kubectl.md to regenerate

#
# Your commit will be aborted unless you regenerate docs.
    COMMIT_BLOCKED_ON_GENDOCS
2015-03-13 13:36:13 -07:00
Vish Kannan
13253d09e1 Merge pull request #5444 from vmarmol/lock
Lock access and update to Kubelet pods.
2015-03-13 11:06:50 -07:00
Victor Marmol
04233cdb88 Remove unused handleUpdate() in Kubelet. 2015-03-13 10:35:50 -07:00
Victor Marmol
0e485310cf Lock access and update to Kubelet pods. 2015-03-13 10:31:26 -07:00
gmarek
3489d1ae01 Refactor kubelet syncPod method 2015-03-13 18:22:42 +01:00