Commit Graph

1824 Commits (282b5abfef05a3d6623f50878d27f5386f614ba9)

Author SHA1 Message Date
Jeff Lowdermilk a92c8b6886 Merge pull request #13384 from ZJU-SEL/portsbindings
Allow multiple host ports map to the same container port
2015-09-15 17:57:57 -07:00
Yu-Ju Hong 8f8541b4cd kubelet: make sure sync loop is run before performing housekeeping
Otherwise, kubelet may kill the existing pods before having a chance to update
the desired pods.
2015-09-15 13:11:55 -07:00
gmarek 4b8ddf3d7e Add information about ports opened by Kubelet to API 2015-09-15 14:24:55 -04:00
Paul Weil ed80c2b940 pid mode 2015-09-15 13:51:44 -04:00
k8s-merge-robot 27e8a11378 Merge pull request #13916 from tmrts/refactor/iota
Auto commit by PR queue bot
2015-09-14 21:11:58 -07:00
k8s-merge-robot 8189460809 Merge pull request #13844 from tummychow/label-deps-2
Auto commit by PR queue bot
2015-09-14 12:56:24 -07:00
Huamin Chen 45d4f7d6c2 Opening Pod volume dir could fail if for instance the directory has stale handle or directory is busy.
In such case, don't exit if the directory cannot be opened.

Signed-off-by: Huamin Chen <hchen@redhat.com>
2015-09-14 14:43:44 -04:00
Yu-Ju Hong fb270779b5 kubelet: fix the config unit tests 2015-09-14 11:07:27 -07:00
Huamin Chen adf59896e0 when kubelet removes pod dir, it should skip those that still have unmounted volumes
Signed-off-by: Huamin Chen <hchen@redhat.com>
2015-09-14 13:50:08 -04:00
k8s-merge-robot 83fc0b783f Merge pull request #13923 from wojtek-t/fix_rv_0_errors
Auto commit by PR queue bot
2015-09-14 10:21:41 -07:00
Jeff Lowdermilk e25ae7fdb2 Merge pull request #13833 from caesarxuchao/central-latest
[WIP] Making a generic latest package
2015-09-14 09:26:58 -07:00
Wojciech Tyczynski 5da52558e6 Fix watch with RV=0 in Kubelet. 2015-09-14 16:45:58 +02:00
Tamer Tas 6908790410 Add a default value to PodConfigNotificationMode 2015-09-14 15:00:01 +03:00
tummychow a21c52a766 Move util/validation files to their own package 2015-09-13 00:46:52 -07:00
k8s-merge-robot 960b9e9564 Merge pull request #13867 from JanetKuo/qos-policy-bug
Auto commit by PR queue bot
2015-09-11 19:13:18 -07:00
Chao Xu 0b6fd8c5c4 fixing tests 2015-09-11 17:33:22 -07:00
Chao Xu dd6c121d7f massive changes 2015-09-11 17:31:47 -07:00
Yu-Ju Hong 2816c9df78 config_test: clean up unused function arguements 2015-09-11 17:18:29 -07:00
Yu-Ju Hong 69c3aa0872 Fix source annotation in kubelet
kubelet relies on source annotation to distinguish pods from different sources.
It should always annotate the source when receiving the pod to avoid any
confusion. This commit fixes that and also make sure we don't overwrite the
first seen time.
2015-09-11 14:52:16 -07:00
Mikaël Cluseau b76abf10cc hairpin: fix tests 2015-09-12 08:43:45 +11:00
Mikaël Cluseau 1ab520a59b pkg/util/exec: allow mocking of LookPath 2015-09-12 08:43:45 +11:00
Mikaël Cluseau 99a1cfa8ff hairpin support 2015-09-12 08:43:45 +11:00
k8s-merge-robot 6f01200188 Merge pull request #13727 from jiangyaoguo/fix-reason-reporting-in-kubelet
Auto commit by PR queue bot
2015-09-11 12:32:20 -07:00
Tim St. Clair 1f91fffb57 Move kubelet.statusManager to status.Manager
This refactor is in preparation for moving more state handling to the
status manager. It will become the canonical cache for the latest
information on running containers and probe status, as part of the
prober refactoring.
2015-09-11 12:22:01 -07:00
Janet Kuo 452ebed92b Fix the bug that qos class determination be incorrect with small numbers 2015-09-11 10:26:44 -07:00
k8s-merge-robot bff6ee8e4a Merge pull request #12695 from JanetKuo/kubectl-describe-pod-podstatus
Auto commit by PR queue bot
2015-09-11 08:08:32 -07:00
k8s-merge-robot bfc60709b1 Merge pull request #13468 from yifan-gu/rkt_doc
Auto commit by PR queue bot
2015-09-10 20:32:08 -07:00
jiangyaoguo 62c0c35307 Fix reporting reason in kubelet
1. Make reason field of StatusReport objects in kubelet in CamelCase format.
2. Add Message field for ContainerStateWaiting to describe detail about Reason.
3. Make reason field of Events in kubelet in CamelCase format.
4. Update swagger,deep-copy and so on.
2015-09-11 10:01:08 +08:00
Janet Kuo edc75cd565 Fix the bug that determining guaranteed qos won't work well with small numbers 2015-09-10 18:21:51 -07:00
Janet Kuo 22a794cc22 List resource QoS tier of each container when describing pods; Re-order resource table 2015-09-10 18:21:50 -07:00
Daniel Smith b225c1d47a Run gofmt (separate commit for easy rebases) 2015-09-10 17:17:59 -07:00
Daniel Smith 15b30b8b09 Move version agnostic parts of client
pkg/client/unversioned/cache -> pkg/client/cache
pkg/client/unversioned/record -> pkg/client/record
2015-09-10 17:17:59 -07:00
k8s-merge-robot ee7168d868 Merge pull request #13815 from robertabbott/abbott/kubelet_get_instead_of_list
Auto commit by PR queue bot
2015-09-10 15:59:01 -07:00
Yifan Gu e7b9c50ba1 kubelet/rkt: add support for different stage1 image.
Also enable grace stop for service files.
2015-09-10 14:58:03 -07:00
tummychow 78ce5da988 Move util.StringSet into its own package
A lot of packages use StringSet, but they don't use anything else from
the util package. Moving StringSet into another package will shrink
their dependency trees significantly.
2015-09-10 12:04:15 -07:00
Bobby Abbott 9a5f43e16d Kubelet#GetNode now uses GetNodeInfo instead of List
Both GetNode and the cache.ListWatch listfunc in the
kubelet package call List unnecessary.

GetNodeInfo is sufficient for GetNode and makes looping
through a list of nodes to check for a matching name
unnecessary.

resolves #13476
2015-09-10 10:50:41 -07:00
Chao Xu 002dcc6343 Merge pull request #13737 from wojtek-t/switch_to_node_in_registry
Rename "minion" to "node" in few places.
2015-09-09 17:49:22 -07:00
Wojciech Tyczynski cd1ac360de Rename "minion" to "node" in few places. 2015-09-09 16:18:23 +02:00
jiangyaoguo 1460a1fb9e Rate limit events in kubelet
1. Add EvnetRecordQps and EventBurst parameter in kubelet.
2. If  EvnetRecordQps and EventBurst was set, rate limit events in kubelet
with a independent ratelimiter as setted.
2015-09-09 16:57:21 +08:00
Wojciech Tyczynski b85d0557b4 Revert #13052 2015-09-08 09:40:12 +02:00
feihujiang d713826aa9 Add pod name to error message when getting logs of a container 2015-09-07 17:03:54 +08:00
Harry Zhang 7b2e2e5649 Fix tests and clear fmt mess in manager.go 2015-09-05 04:52:51 +00:00
k8s-merge-robot 2e2def36a9 Merge pull request #13581 from caesarxuchao/APIGroup-testapi-2
Auto commit by PR queue bot
2015-09-04 20:38:45 -07:00
Chao Xu 9fc79e9d99 refactor testapi and test scripts to prepare for multiple API groups. 2015-09-04 18:01:32 -07:00
k8s-merge-robot e6e69e31ec Merge pull request #13363 from mesosphere/abort-kubelet-syncloop
Auto commit by PR queue bot
2015-09-04 17:45:32 -07:00
k8s-merge-robot 24430525ac Merge pull request #13334 from pedro-r-marques/kubelet_annotation_update
Auto commit by PR queue bot
2015-09-04 17:07:31 -07:00
Quinton Hoole e188ea6a61 Merge pull request #13202 from jimmidyson/prometheus-with-no-cadvisor-port
Ensure container metrics are registered with prometheus even without cadvisor http server
2015-09-04 13:58:31 -07:00
James DeFelice de064f4254 fix kubelet syncLoop busy loop upon close of updates chan 2015-09-04 17:56:02 +00:00
Andy Goldstein c83786979c Various exec fixes
If stdin is noninteractive, the io.Copy from stdin to remoteStdin will
unblock when it finishes reading from stdin. In this case, make sure to
close remoteStdin so the server knows the client won't be sending any
more data. This ensures that the remote process terminates. For example:

echo foo | kubectl exec -i <pod> -- cat

Without this change, the `cat` process never terminates and `kubectl
exec` hangs.

Fix interactive exec sessions hanging after you type 'exit'.

Add e2e test to cover noninteractive stdin: `echo a | kubectl exec -i <pod>
cat`

Add e2e test to cover psuedo-interactive stdin: `kubectl exec -i <pod> bash`

Prep for sending multiple data frames over multiple streams in remote command
test, which is more likely to find flakes (requires bump of spdystream
once an issue with the frame worker queues not being fully drained when
a goaway frame is received).
2015-09-04 10:40:53 -04:00
Abhi Shah c9f2d3151b Merge pull request #13155 from derekwaynecarr/enforce_limits
Map cpu limits to cpu-quota in docker run
2015-09-03 16:28:04 -07:00
Abhi Shah d923e61dda Merge pull request #13397 from yujuhong/housekeeping
kubelet: define the housekeeping period
2015-09-03 15:46:29 -07:00
derekwaynecarr 5dc74e8dbf Add support for CFS quota in kubelet 2015-09-03 13:44:28 -04:00
markturansky 0e7f73ad67 expand volume.Spec to include full Volume and PV 2015-09-03 08:57:32 -04:00
Yu-Ju Hong 9cdb004851 kubelet: fix erratic restart count caused per-container restart backoff 2015-09-02 18:50:42 -07:00
Abhi Shah 067e76b509 Merge pull request #13348 from thockin/kubelet-masq-rule
Don't name 'eth0' in MASQUERADE rule
2015-09-02 09:54:31 -07:00
Brendan Burns ac958e5320 Merge pull request #12513 from brendandburns/tc2
integrate bandwidth shaping and the kubelet.
2015-09-02 09:44:10 -07:00
k8s-merge-robot f5c2d90c3a Merge pull request #12293 from deads2k/testclient-specific-reaction
Auto commit by PR queue bot
2015-09-02 09:18:24 -07:00
k8s-merge-robot cc811b3519 Merge pull request #13473 from yujuhong/check_volumes
Auto commit by PR queue bot
2015-09-02 07:32:57 -07:00
Marcin Wielgus 3e9932557d Merge pull request #13052 from pmorie/podip-fix
Fix race condition for consuming podIP via downward API
2015-09-02 16:04:01 +02:00
Yu-Ju Hong 08ec796995 kubelet: remove orphaned pod directories properly
PR #13293 added a safety check to not remove a pod directory if the child
volumes directory is not empty. This logic is faulty because kubelet may have
directory structures podUID/volumes/volumeKind/volumeName. E.g.,
`056db95d-50ee-11e5-a2e4-42010af0ba1d/volumes/kubernetes.io~empty-dir/default-token-al3r2`

This change fixes that by properly listing all volumes under a pod.
2015-09-01 15:39:17 -07:00
Brendan Burns 64717962cf Merge pull request #13211 from ashcrow/kubelet-disk-manager-tests
test: improved kubelet disk_manager coverage.
2015-09-01 10:10:07 -07:00
Brendan Burns 43e7c9b211 Merge pull request #13367 from spothanis/cinder
Cinder Volume Plugin
2015-09-01 10:05:15 -07:00
deads2k 7e180c258d update testclient for delegating reaction chain 2015-09-01 12:58:35 -04:00
k8s-merge-robot 5331a26c5b Merge pull request #13293 from yujuhong/pod_dir
Auto commit by PR queue bot
2015-09-01 04:59:55 -07:00
k8s-merge-robot 49475c3431 Merge pull request #13061 from yifan-gu/rkt_patch_events
Auto commit by PR queue bot
2015-09-01 04:10:18 -07:00
Yu-Ju Hong 13b268b378 kubelet: define the minimum housekeeping period
Before, kubelet performs global cleanup tasks every iteration. After the
PR #13003, kubelet performs the tasks on every sync internval (10 seconds).
This PR decouples the housekeeping period with the sync internval to ensure
that kubelet cleans up promptly, while not too often (no more than once every
minimum housekeeping period).
2015-08-31 17:28:20 -07:00
Paul Morie 4ff66bd70a Fix race exposing pod IP via downward API 2015-08-31 19:18:58 -04:00
Harry Zhang 18315db025 Allow multiple host ports map to the same port in container 2015-08-31 15:22:30 +08:00
Brendan Burns 9f3ef68ebc integrate bandwidth shaping and the kubelet. 2015-08-30 22:24:09 -07:00
k8s-merge-robot 4a7115d272 Merge pull request #11955 from pedro-r-marques/flag_resolv_conf
Auto commit by PR queue bot
2015-08-30 21:03:54 -07:00
Sreekanth Pothanis f5da6b34ce Cinder Volume Plugin 2015-08-30 19:56:27 -07:00
k8s-merge-robot 093614ec32 Merge pull request #13320 from yujuhong/fix_restarts
Auto commit by PR queue bot
2015-08-28 23:00:11 -07:00
Tim Hockin 1aca401813 Don't name 'eth0' in MASQUERADE rule
This causes endless loops of adding duplicate rules on machines without "eth0".
2015-08-28 22:32:30 -07:00
Pedro Roque Marques bf170a688c Update annotations in the kubelet.
When the pod annotations are updated in the apiserver, update the pod.
Annotations may be used to convey attributes that are required to the
pod execution, such as networking parameters.
2015-08-28 15:50:13 -07:00
Sami Wagiaalla ccd0fcd1f9 Rmove Hostname health check
The health check is no longer needed since health checks are no longer
run by master but updated by the kubelet; so a host with the incorrect
host name will not be updated and show 'NotReady' status

Signed-off-by: Sami Wagiaalla <swagiaal@redhat.com>
2015-08-28 16:53:02 -04:00
Yu-Ju Hong f707ca08d5 Fix incorrect restart count for docker containers 2015-08-28 11:54:30 -07:00
Prashanth B 05b205bab6 Revert "Volume Plugin for Cinder; Openstack Block Storage" 2015-08-28 10:56:24 -07:00
Prashanth B 8d0d54ffed Merge pull request #6689 from spothanis/cinder-vol-plugin
Volume Plugin for Cinder; Openstack Block Storage
2015-08-28 10:47:31 -07:00
Yu-Ju Hong 8774f6efa2 kubelet: don't remove any pod directory with non-empty volumes
If the volumes directory is not empty, it implies that volumes may not have
been properly cleaned up yet. Do not attempt to remove the pod directory.
2015-08-27 22:18:51 -07:00
Yu-Ju Hong 697197d383 Kubelet: do not remove pod directory if any container is still running
If there are any running container in the pod, we cannot remove the volume.
Therefore, we should not attempt to remove the pod directory.
2015-08-27 18:19:13 -07:00
Steve Milner 3181e5b913 test: improved kubelet disk_manager coverage. 2015-08-27 15:54:45 -04:00
Pedro Roque Marques 99b1da848d Add kubelet '--resolv-conf' flag.
Allow the user to specify the resolver configuration file that is used
to determine the default DNS parameters. This defaults to the system's
/etc/resolv.conf.
2015-08-26 15:41:36 -07:00
Yu-Ju Hong c7afae75f5 Merge pull request #13103 from yujuhong/restart_count
Kubelet: fix container restart counts
2015-08-26 15:13:10 -07:00
Yu-Ju Hong d839ab2024 Merge pull request #12940 from Miciah/Warning-to-Warningf
glog.Warning -> glog.Warningf
2015-08-26 13:36:05 -07:00
Yifan Gu 67e1589a08 kubelet/rkt: add created/started/failed/killing events.
Also improve the logging for rkt command line commands.
2015-08-26 10:39:10 -07:00
Yu-Ju Hong c237ac4c84 Merge pull request #13003 from yujuhong/decouple_workers
kubelet: trigger pod workers independently
2015-08-26 09:53:25 -07:00
Jimmi Dyson 3a6701c85f Ensure container metrics are registered with prometheus even without
cadvisor http server

Fixes #13200
2015-08-26 13:35:32 +01:00
Yifan Gu 6ced66249d kubelet/dockertools: clear container reference when killing a container. 2015-08-25 18:22:08 -07:00
Yu-Ju Hong b906e34576 kubelet: trigger pod workers independently
Currently, whenever there is any update, kubelet would force all pod workers to
sync again, causing resource contention and hence performance degradation.

This commit flips kubelet to use incremental updates (as opposed to snapshots).
This allows us to know what pods have changed and send updates to those pod
workers only. The `SyncPods` function has been replaced with individual
handlers, each handling an operation (ADD, REMOVE, UPDATE). Pod workers are
still triggered periodically, and kubelet performs periodic cleanup as well.

This commit also spawns a new goroutine solely responsible for killing pods.
This is necessary because pod killing could hold up the sync loop for
indefinitely long amount of time now user can define the graceful termination
period in the container spec.
2015-08-25 17:52:01 -07:00
Yu-Ju Hong 655645eb9c Merge pull request #13041 from yifan-gu/rkt_patch_fix
kubelet/rkt: merge environments instead of overriding.
2015-08-25 16:58:00 -07:00
Yu-Ju Hong 3bc2157889 Merge pull request #13100 from pweil-/cap-priv-sources
use privileged source object
2015-08-25 16:10:50 -07:00
Sreekanth Pothanis c841a20361 Cinder Volume Plugin 2015-08-25 15:13:56 -07:00
Yifan Gu 7767dafb4d kubelet/rkt: include the pod restart count in service file.
Also remove the service file when the pod is killed.
2015-08-25 13:59:18 -07:00
Yifan Gu 763ffdb1fe kubelet/rkt: merge environments instead of overriding.
Merge the environments in container spec and in the image
manifest. Also allow empty app in image manifest.
2015-08-25 13:10:58 -07:00
Yu-Ju Hong 9f508e9422 Merge pull request #13076 from invenfantasy/master
Cleanup deprecated Forever function
2015-08-25 10:07:10 -07:00
Nikhil Jindal 8846c841a8 Merge pull request #12648 from samsabed/crashloop
back off restarts of crashlooping containers
2015-08-24 18:54:13 -07:00
Paul Weil 709e654686 use privileged source object 2015-08-24 16:53:43 -04:00
Yu-Ju Hong 1e26cdfb67 kubelet: fix container restart counts
This commit ensures that the container restart count increments monotonically
when there is no kubelet restarts.
2015-08-24 12:50:05 -07:00
Nikhil Jindal a1c5f3f45d Merge pull request #12876 from yujuhong/pod_status
kubelet: switch to using pod UID as the key in status manager
2015-08-24 10:39:02 -07:00
Sam Abed 995cb15bb6 back off restarts of crashlooping containers
Signed-off-by: Sam Abed <samabed@gmail.com>
2015-08-24 21:43:17 +10:00
caogaojin 60cb4406e9 Cleanup deprecated Forever function
Since util.Forever function has been deprecated, we should cleanup these
pieces of code.
2015-08-24 10:31:59 +08:00
tamnd 906b279080 Support new docker config format for private registries 2015-08-22 15:37:25 +07:00
Zach Loafman 73d105e22c Merge pull request #12959 from smarterclayton/handle_pods_in_kubelet
Support graceful termination in the Kubelet (5/7)
2015-08-21 16:13:21 -07:00
Yifan Gu a2b148b27b kubelet/rkt: fix rkt version parsing.
Use SemVer to parse the version string.
2015-08-21 10:45:11 -07:00
Clayton Coleman f5c4a3e7a6 Handle graceful termination in the Kubelet
Supports pods that are gracefully deleted on the server being
handled in the Kubelet

preStop is limited to the grace period of the pod in execution.
2015-08-21 10:18:21 -04:00
k8s-merge-robot 44c76d5319 Merge pull request #12957 from smarterclayton/handle_terminating_pods
Auto commit by PR queue bot
2015-08-20 21:47:00 -07:00
Saad Ali 9c29733435 Merge pull request #12938 from yifan-gu/rkt_patch_container_log
kubelet/rkt: Add support for fetching per container log.
2015-08-20 17:27:49 -07:00
Saad Ali 1db153cee3 Merge pull request #12895 from lvlv/uts
use host uts namespace when pod.Spec.HostNetwork is true
2015-08-20 17:26:03 -07:00
Saad Ali a90b67f276 Merge pull request #12880 from yifan-gu/pod_status
kubelet: refactor kubecontainer.Pod, remove PodStatus from it.
2015-08-20 17:25:29 -07:00
Saad Ali 9b01580946 Merge pull request #12872 from runningwild/master
Fix several problems with using rkt on gce
2015-08-20 15:46:16 -07:00
Saad Ali 3f66648ada Merge pull request #12832 from yifan-gu/rkt_patch_img
kubelet/rkt: update image related interfaces.
2015-08-20 14:32:55 -07:00
Yifan Gu 045a164362 kubelet/rkt: update image related interfaces.
Add RemoveImage(), ListImages().
Update PullImage(), IsImagePresent().
2015-08-20 11:16:18 -07:00
Clayton Coleman 02dbb95447 Add TerminationGracePeriodSeconds to API
Set defaulting for pod spec
2015-08-20 11:03:38 -04:00
Saad Ali f396a7116d Merge pull request #12811 from mvdan/kubelet-restful
kubelet: Switch to restful for the REST api endpoints
2015-08-19 16:48:50 -07:00
Saad Ali fb18b09306 Merge pull request #12885 from dchen1107/docker
Leave process 1 at root cgroup
2015-08-19 14:56:52 -07:00
Miciah Masters 8aa299da90 glog.Warning -> glog.Warningf
Fix three places where glog.Warning is used with a formatted string.
2015-08-19 16:22:28 -04:00
Yifan Gu 710c34a362 kubelet/rkt: Add support for fetching per container log. 2015-08-19 12:13:04 -07:00
Jonathan Wills 80e799fc0c Allow configuring the rkt binary in a kubelet with a flag.
This is necessary because coreos comes with rkt installed, and if we want to use a different version
we need some way to avoid the default one.
2015-08-19 09:42:13 -04:00
Lv Lv 7cf9ee19c7 add test for utsMode change 2015-08-19 16:56:19 +08:00
Lv Lv 0b90dfba3a use host uts namespace when pod.Spec.HostNetwork is true 2015-08-19 13:02:10 +08:00
Robert Bailey 08e6a43c1d Revert "Merge pull request #9165 from smarterclayton/graceful"
This reverts commit 4f856b595d, reversing
changes made to d78525a83b.

Conflicts:
	pkg/kubelet/status_manager.go
2015-08-18 17:34:49 -07:00
Yifan Gu 69f796f234 kubelet: refactor kubecontainer.Pod, remove PodStatus from it. 2015-08-18 16:27:22 -07:00
Dawn Chen 8b3937c9bf Leaving process 1 at root cgroup. 2015-08-18 16:21:28 -07:00
Dawn Chen 2339a7796f Remove stale comment. 2015-08-18 16:07:15 -07:00
Yu-Ju Hong 0c84b837cf kubelet: switch to using pod UID as the key in status manager
We chose to use podFullName (name_namespace) as key in the status manager
because mirror pod and static pod share the same status. This is no longer
needed because we do not store statuses for static pods anymore (we only
store statuses for their mirror pods). Also, reviously, a few fixes were
merged to ensure statuses are cleaned up so that a new pod with the same
name would not resuse an old status.

This change cleans up the code by using UID as key so that the code would
become less brittle.
2015-08-18 14:39:02 -07:00
Robert Bailey 11d5712278 Merge pull request #12736 from deads2k/relax-pull-secret-constraints
tolerate missing image pull secrets:
2015-08-18 11:48:01 -07:00
Daniel Martí 7862ed3656 kubelet: Switch to restful for the REST api endpoints 2015-08-18 11:28:34 -07:00
Kris Rousey ae6c64d9bb Moving everyone to unversioned client 2015-08-18 10:23:03 -07:00
Clayton Coleman 780accb3ba Kubelet should garbage collect dead pods
The sync loop should check for terminated pods that are no longer
running and clear them. The status loop should never write status
if the pod UID changes. Mirror pods should be deleted immediately
rather than gracefully.
2015-08-18 09:08:44 -04:00
Clayton Coleman 89f1f3b1b8 Alter graceful deletion to not use TTL
Avoid TTL by deleting pods immediately when they aren't
scheduled, and letting the Kubelet delete them otherwise.

Ensure the Kubelet uses pod.Spec.TerminationGracePeriodSeconds
when no pod.DeletionGracePeriodSeconds is available.
2015-08-18 09:08:43 -04:00
Clayton Coleman b842a7dd15 Revert "Revert "Gracefully delete pods from the Kubelet""
This reverts commit 98115facfd.
2015-08-18 08:57:02 -04:00
Brendan Burns a9580a0ad0 Merge pull request #12595 from smarterclayton/add_pod_status_ip
Add status.podIP as a valid downward API target
2015-08-14 20:29:50 -07:00
Brendan Burns eb8b1aa87e Merge pull request #12694 from yifan-gu/rkt_patch
kubelet/rkt: minor updates to match rkt v0.7.0.
2015-08-14 20:27:30 -07:00
Clayton Coleman 01f3785426 Add status.podIP as a valid downward API target
Getting the public IP a container is supposed to use is O(hard),
and usually involves ugly gyrations in python or with interfaces.
Using the downward API means that the IP Kube is announcing to
other endpoints is also visible inside the container for pods to
identify themselves.
2015-08-14 17:51:55 -04:00
deads2k c24d176f65 tolerate missing image pull secrets: 2015-08-14 12:51:28 -04:00
xiejunan f5446f2aa3 fix error in findPortByName
using ContainerPort instead of HostPort
2015-08-14 14:00:05 +08:00
Yifan Gu 558e692f93 kubelet/rkt: minor updates to match rkt v0.7.0. 2015-08-13 18:16:12 -07:00
Yifan Gu d70a30c069 kubelet: refactor kubelet.Runtimehooks to container.ImagePuller. 2015-08-12 16:28:25 -07:00
jiangyaoguo 9ab4a46b9d Keep event reason in kubelet consistent with others 2015-08-12 19:00:09 +08:00
Piotr Szczesniak 1df0267f4a Merge pull request #12551 from eparis/underscore-to-dash
Update code and docs to use - in flag names instead of _
2015-08-12 07:16:31 +02:00
Yu-Ju Hong 56f4605f47 kubelet: refactor SyncPods for better readability
Eventually we would like to replace the all-encompassing SyncPods function with
more well-defined, smaller functions. This would not only help with the
readability and profiling of the code, it'd also set in motion for the plans to
trigger pod worker individually based on the content of the pod updates.

This commit serves as the first step of that, while avoiding breaking all unit
tests by preserving the SyncPods function for the time being.
2015-08-11 16:40:26 -07:00
Kris Rousey 565189f5b8 Correcting all go vet errors 2015-08-11 13:55:37 -07:00
Eric Paris 5aa495cdad Update code to use - in flag names instead of _ 2015-08-11 16:31:52 -04:00
Filip Grzadkowski 999eff1b7f Merge pull request #12510 from markturansky/improve_failed_mount_msg
Removed spew from failed volume mount event
2015-08-11 12:35:02 +02:00
Filip Grzadkowski 3f7b54cbdb Merge pull request #11669 from pweil-/sc-nonroot
add non-root directive to SC and kubelet checking
2015-08-11 10:30:53 +02:00
markturansky 0b72bb2458 removed spew from event error 2015-08-10 23:16:15 -04:00
Alex Robinson e899a36de8 Merge pull request #12491 from yifan-gu/bump_appc
Godeps: bump appc/spec to v0.6.1+git.
2015-08-10 16:38:49 -07:00
Alex Robinson 20c189d752 Merge pull request #12471 from peter-edge/docker-new-client-from-env
Use docker.NewClientFromEnv for creation of docker.Client
2015-08-10 14:22:21 -07:00
Yifan Gu 7e5cfd137a Godeps: bump appc/spec to v0.6.1+git. 2015-08-10 11:21:28 -07:00
Paul Weil e490c20c22 add non-root directive to SC and kubelet checking 2015-08-10 13:30:34 -04:00
Tamer Tas f5d5befe17 Add documentation for pkg/kubelet/rkt 2015-08-10 19:34:36 +03:00
Marek Grabowski 5f9cefc1d8 Merge pull request #12441 from vlajos/typofixes-vlajos-20150807
typofix - https://github.com/vlajos/misspell_fixer
2015-08-10 16:33:52 +02:00
Marek Grabowski 8580e17ff1 Merge pull request #12374 from wulonghui/wulonghui-patch-1
Add NodeInternalIP for Node's Addresses when cloud provider is nil
2015-08-10 15:01:00 +02:00
peter-edge 0458d707ac use docker.NewClientFromEnv for creation of docker.Client 2015-08-10 13:29:56 +02:00
Marek Grabowski e034712456 Merge pull request #11788 from HaiyangDING/ImproveClarityResource
Improve clarity around PodFitsResource(issue#11453)
2015-08-10 09:56:32 +02:00
Veres Lajos 9f77e49109 typofix - https://github.com/vlajos/misspell_fixer 2015-08-08 22:31:48 +01:00
Satnam Singh 4ece39ac20 Merge pull request #9452 from yifan-gu/img_pulling
kubelet: Add 'image pulling' event. Refactor dockerManager.createPodInfraContainer()
2015-08-07 15:23:24 -07:00
Satnam Singh bee48f4ce5 Merge pull request #12035 from AnanyaKumar/requests
Add support for request
2015-08-07 14:27:34 -07:00
Satnam Singh 950ec96db0 Merge pull request #12182 from AnanyaKumar/qos-node
Add QoS support on node
2015-08-07 14:27:02 -07:00
Yifan Gu 053db8dba7 kubelet/dockertools: Refactor image pulling for pod infra container.
Replace the trunk of pull image code with dockerManagner.pullImage().
Also add tests to verify the image pulling/pulled events.
2015-08-07 11:42:04 -07:00
Ananya Kumar 6ef3de1d5f Add QoS support on node 2015-08-07 11:18:16 -07:00
Yifan Gu eb0fb43453 kubelet: Add image pulling event.
Since it takes a while (1-2mins) for kubelet to pulling a big image
(>500MB). Just showing "Pending" for pod status is not very helpful.

This commit introduces a "pulling" event, and inserts it before the
kubelet starts to pull an image.
2015-08-07 10:50:39 -07:00
dinghaiyang dab7280ae4 Improve clarity around PodFitsResource by showing pods limits in `kubectl describe node` 2015-08-07 16:58:11 +08:00
wulonghui b50e736184 Add NodeInternalIP for Node's Addresses when cloud provider is nil 2015-08-07 09:08:56 +08:00
Rajat Chopra 1ce6d80a89 ipv6 test 2015-08-06 15:46:05 -07:00
Rajat Chopra 58a742e667 status hook for the container network 2015-08-06 15:46:04 -07:00
Wojciech Tyczynski 29aaf1a4d2 Merge pull request #12168 from brendandburns/stdin2
Support Stdin and TTY in the kubelet
2015-08-06 13:45:59 +02:00
Brendan Burns 901a04a3d6 Add support for interactive contaienrs to the kubelet 2015-08-05 22:14:56 -07:00
Mike Danese fe6b15ba2f rewrite all links to issues to k8s links 2015-08-05 21:11:11 -07:00
Ananya Kumar ef1e576810 Add support for request 2015-08-05 19:00:19 -07: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
deads2k 182885e897 make testclient more precise 2015-08-04 13:35:59 -04:00
Mike Danese a23ee556ad Merge pull request #11999 from brendandburns/attach2
Add support for attach to kubectl
2015-07-31 12:51:08 -07:00
Piotr Szczesniak 41de62b465 Merge pull request #12022 from piosz/cadvisor
Update cadvisor dependency
2015-07-31 05:56:36 +02:00
Mike Danese 9582c7e54e Merge pull request #12024 from a-robinson/metadata
Support passing a header to the manifest URL in the kubelet.
2015-07-30 13:46:22 -07:00
Brendan Burns e8e756a719 Add pod/attach to the APIServer. 2015-07-30 10:55:53 -07:00
Alex Robinson a9f0c4683f Limit the logging from kubelet attempting to read its manifest URL.
Without this, it logs an error every 20 seconds if nothing is at the
provided URL.
2015-07-30 17:47:33 +00:00
Alex Robinson cf011cad55 Support passing a header to the manifest URL in the kubelet.
Needed to support using GCE's v1 metadata API, which requires passing
the header "Metadata-Flavor: Google".
2015-07-30 17:11:27 +00:00
Piotr Szczesniak 7e305c43f0 Set maxHousekeepingInterval to 15 seconds. 2015-07-30 16:44:45 +02:00
Mike Danese 1b84fb7d74 make testclient threadsafe by guarding internal state with accessors 2015-07-29 16:17:17 -07:00
Mike Danese f18b09963e Merge pull request #11766 from deads2k/kubelet-prefers-ipv4
make kubelet prefer ipv4 address if available
2015-07-29 10:33:23 -07:00
deads2k 2c06f11052 make kubelet prefer ipv4 address if available 2015-07-28 15:45:57 -04:00
Brendan Burns 64be76c14d Add support for Attach to the kubelet.
This is a pre-cursor to supporting 'kubectl attach ...' and 'kubectl run -it ...'
2015-07-27 21:48:55 -07:00
Marek Grabowski 00cd52dd68 Merge pull request #10656 from krousey/timeouts
Adding proper timeouts.
2015-07-27 10:56:58 +02:00
Mike Danese b51b4e740f Merge pull request #10639 from caseydavenport/master
Allow specification of a network plugins directory when starting kubelet
2015-07-24 11:09:11 -07:00
Vish Kannan 136d53466a Merge pull request #10892 from nikhiljindal/beta1
Removing references to pre v1beta3 apis in code
2015-07-23 17:05:43 -07:00
Casey D aeb7dc6b30 Allow specification of network plugins directory when starting kubelet 2015-07-23 11:21:39 -07:00
Wojciech Tyczynski 6524cd5e2a Merge pull request #11562 from MikaelCluseau/master
realContainerGC reports warning when err is nil
2015-07-23 13:39:24 +02:00
Vish Kannan 4421b3dfdd Merge pull request #10821 from jimmidyson/gc-container-volumes
Fixes #10803: Delete Docker container volumes on GC
2015-07-22 16:02:03 -07:00
Mikaël Cluseau aff10f57bb realContainerGC reports warning when err is nil 2015-07-20 14:11:52 +11:00
Kris Rousey 1d033b9912 Adding proper timeouts. 2015-07-10 14:42:59 -07:00
Rohit Jnagal affba42a05 Merge pull request #10958 from cjcullen/racefix
Remove race in setting/reading kubelet.podCIDR
2015-07-10 10:09:44 -07:00
CJ Cullen da0bc5f690 Remove race in setting/reading kubelet.podCIDR 2015-07-08 14:58:14 -07:00
nikhiljindal fc4da6844e removing references to pre v1beta3 apis 2015-07-08 13:51:43 -07:00
Jimmi Dyson 8e482462fb Fixes #8945: Cleanup log symlinks on remove & dead log symlinks 2015-07-08 08:43:59 +01:00
Jimmi Dyson 159c3c87de Fixes #10803: Delete Docker container volumes on GC 2015-07-07 13:11:28 +01:00
Yu-Ju Hong b9cc548799 Merge pull request #10763 from bprashanth/timer_leak
Don't leak tickers during an exec probe
2015-07-06 11:59:24 -07:00
Yu-Ju Hong b58e7c8c2d Merge pull request #10655 from dchen1107/cadvisor
Set minimal shares for containers with no cpu specified
2015-07-06 11:38:54 -07:00
Prashanth Balasubramanian 33e2f7cb8b Don't leak tickers in the exec probe 2015-07-05 17:52:52 -07:00