Commit Graph

1632 Commits

Author SHA1 Message Date
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
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
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
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