Commit Graph

399 Commits

Author SHA1 Message Date
Vish Kannan
a1fe3adbc7 Revert "Revert "[kubelet] Fix oom-score-adj policy in kubelet"" 2016-09-16 16:32:58 -07:00
Vish Kannan
492ca3bc9c Revert "[kubelet] Fix oom-score-adj policy in kubelet" 2016-09-15 19:28:59 -07:00
Vishnu kannan
ba6feb2771 fix kubelet ignoring docker daemon in container feature
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-09-14 12:43:59 -07:00
Vishnu kannan
e4acad7afb Fix oom-score-adj policy in kubelet.
Docker daemon and kubelet needs to be protected by setting oom-score-adj to -999.

Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-09-14 11:56:10 -07:00
Kubernetes Submit Queue
c49d8360ec Merge pull request #31958 from ZTE-PaaS/zhangke-patch-034
Automatic merge from submit-queue

Redundant code process for container_mananger start

1. need not sum the total numEnsureStateFuncs
2. numEnsureStateFuncs should > 0, otherwise, calculate numEnsureStateFuncs would be not neccessary
2016-09-11 17:48:55 -07:00
Ke Zhang
eca14886ac Redundant code process for container_mananger start 2016-09-06 12:56:54 +08:00
Kubernetes Submit Queue
06b6fb5729 Merge pull request #31489 from ZTE-PaaS/zhangke-patch-030
Automatic merge from submit-queue

optimize if-else of setupNode of container_manager_linix

make the code more readable
2016-09-05 17:35:09 -07:00
Ke Zhang
86163979f4 optimize if-else of setupNode of container_manager_linix 2016-08-26 10:30:39 +08:00
Justin Santa Barbara
2c103af2b6 Create testable implementation of sysctl
This is so we can test kubenet Init, which calls sysctl
2016-08-23 01:42:37 -04:00
dubstack
4ddfe172ce Add support for pod container management 2016-08-19 11:07:33 -04:00
Kubernetes Submit Queue
79ed7064ca Merge pull request #27970 from jingxu97/restartKubelet-6-22
Automatic merge from submit-queue

Add volume reconstruct/cleanup logic in kubelet volume manager

Currently kubelet volume management works on the concept of desired
and actual world of states. The volume manager periodically compares the
two worlds and perform volume mount/unmount and/or attach/detach
operations. When kubelet restarts, the cache of those two worlds are
gone. Although desired world can be recovered through apiserver, actual
world can not be recovered which may cause some volumes cannot be cleaned
up if their information is deleted by apiserver. This change adds the
reconstruction of the actual world by reading the pod directories from
disk. The reconstructed volume information is added to both desired
world and actual world if it cannot be found in either world. The rest
logic would be as same as before, desired world populator may clean up
the volume entry if it is no longer in apiserver, and then volume
manager should invoke unmount to clean it up.

Fixes https://github.com/kubernetes/kubernetes/issues/27653
2016-08-15 13:48:43 -07:00
Jing Xu
f19a1148db This change supports robust kubelet volume cleanup
Currently kubelet volume management works on the concept of desired
and actual world of states. The volume manager periodically compares the
two worlds and perform volume mount/unmount and/or attach/detach
operations. When kubelet restarts, the cache of those two worlds are
gone. Although desired world can be recovered through apiserver, actual
world can not be recovered which may cause some volumes cannot be cleaned
up if their information is deleted by apiserver. This change adds the
reconstruction of the actual world by reading the pod directories from
disk. The reconstructed volume information is added to both desired
world and actual world if it cannot be found in either world. The rest
logic would be as same as before, desired world populator may clean up
the volume entry if it is no longer in apiserver, and then volume
manager should invoke unmount to clean it up.
2016-08-15 11:29:15 -07:00
Kubernetes Submit Queue
96655d7578 Merge pull request #30087 from dims/remove-pkill-dependency
Automatic merge from submit-queue

Remove kubelet pkill dependency

Issue #26093 identified pkill as one of the dependencies of kublet
which could be worked around.  Build on the code introduced for pidof
and regexp for the process(es) we need to send a signal to.

Related to #26093
2016-08-12 18:38:38 -07:00
Jan Chaloupka
eb967ad143 kubelet: introduce --protect-kernel-defaults to make the KernelTunableBehavior configurable 2016-08-11 13:08:27 +02:00
Davanum Srinivas
ce93cb9d9c Remove kubelet dependency on pkill
Issue #26093 identified pkill as one of the dependencies of kublet
which could be worked around.  Build on the code introduced for pidof
and regexp for the process(es) we need to send a signal to.

Related to #26093
2016-08-10 17:14:49 -04:00
Davanum Srinivas
1fdcea28e5 Remove kubelet dependency on pidof
Issue #26093 identified pidof as one of the dependencies of kublet
which could be worked around. In this PR, we just look at /proc
to construct the list of pids we need for a specified process
instead of running "pidof" executable

Related to #26093
2016-08-09 19:55:24 -04:00
Buddha Prakash
49201f6923 Update Libcontainer's Cgroup Config: AllowAllDevices to be Nil 2016-08-04 10:05:30 -07:00
Andrey Kurilin
9f1c3a4c56 Fix various typos in kubelet 2016-08-03 01:14:44 +03:00
Cindy Wang
e13c678e3b Make volume unmount more robust using exclusive mount w/ O_EXCL 2016-07-18 16:20:08 -07:00
k8s-merge-robot
1d8c15ba14 Merge pull request #28755 from dubstack/remove-systemd-check
Automatic merge from submit-queue

Do not skip check for cgroup creation in the systemd mount

As soon as libcontainer dependency is update in #28410, we can skip check for cgroup creation in the systemd mount. As the latest version of libcontainer should create cgroups in the sytemd mount aswell.

This is tied to the upstream issue: #27204

@vishh PTAL
2016-07-18 15:05:51 -07:00
Buddha Prakash
5000e74664 Inject top level QoS cgroup creation in the Kubelet 2016-07-15 10:02:22 -07:00
Buddha Prakash
238f833f65 Do not skip check for cgroup creation in the systemd mount 2016-07-12 16:03:41 -07:00
Buddha Prakash
dcfff45ab7 Add checks in Create and Update Cgroup methods 2016-07-07 14:17:14 -07:00
David McMahon
ef0c9f0c5b Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
Jordan Liggitt
c202a405cd Fix reference to linux-only struct 2016-06-27 11:13:49 -04:00
Buddha Prakash
a5ead79d43 Add support for basic cgroup management 2016-06-26 15:41:34 -07:00
derekwaynecarr
08cdc0ef4f Fix system container detection 2016-06-10 16:49:16 -04:00
Wojciech Tyczynski
fcfaf1a3bd Revert "Fix system container detection in kubelet on systemd" 2016-05-28 16:11:53 +02:00
k8s-merge-robot
c730198aad Merge pull request #25982 from derekwaynecarr/fix_stats
Automatic merge from submit-queue

Fix system container detection in kubelet on systemd

```release-note
Fix system container detection in kubelet on systemd.

This fixed environments where CPU and Memory Accounting were not enabled on the unit 
that launched the kubelet or docker from reporting the root cgroup when 
monitoring usage stats for those components.
```

Fixes https://github.com/kubernetes/kubernetes/issues/25909

/cc @kubernetes/sig-node @kubernetes/rh-cluster-infra @vishh @dchen1107
2016-05-28 05:38:15 -07:00
Tim St. Clair
e4d8dea0d7 Move containerd process into docker cgroup for versions >= v1.11 2016-05-26 17:27:00 -07:00
derekwaynecarr
5a8851d436 Fix container detection on systemd in kubelet 2016-05-23 14:22:32 -04:00
Andy Goldstein
6744a7417a Fix detection of docker cgroup on RHEL
Check docker's pid file, then fallback to pidof when trying to determine the pid for docker. The
latest docker RPM for RHEL changes /usr/bin/docker from an executable to a shell script (to support
/usr/bin/docker-current and /usr/bin/docker-latest). The pidof check for docker fails in this case,
so we check /var/run/docker.pid first (the default location), and fallback to pidof if that fails.
2016-05-19 16:42:52 -04:00
goltermann
34d4eaea08 Fixing several (but not all) go vet errors. Most are around string formatting, or unreachable code. 2016-03-22 17:26:50 -07:00
k8s-merge-robot
663f7b8a4c Merge pull request #22487 from vishh/node-status-cpu-hardcap
Auto commit by PR queue bot
2016-03-05 02:32:33 -08:00
Vishnu kannan
c54ba12faa Update node status to include the absense of cpu hardcapping.
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-03-04 10:33:56 -08:00
Vishnu kannan
f9129b02a5 Start for real background tasks in container manager.
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-03-02 14:55:26 -08:00
k8s-merge-robot
2bca7c5287 Merge pull request #21337 from vishh/ensure-runtime-cgroups
Auto commit by PR queue bot
2016-02-26 16:52:14 -08:00
Yu-Ju Hong
7061ba20bb Fix finding pid of a process 2016-02-17 12:43:16 -08:00
Vishnu kannan
7de6a25383 Identify runtime's cgroups periodically to avoid race with runtime
uptime.
The runtime could also move between cgroups.

Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-02-16 16:39:48 -08:00
Vishnu kannan
575812787d Replace --resource-container and --system-container with
`--kubelet-cgroups` and `--system-cgroups` respectively.
Updated `--runtime-container` to `--runtime-cgroups`.
Cleaned up most of the kubelet code that consumes these flags to match
the flag name changes.

Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-02-10 17:33:28 -08:00
Vishnu kannan
38efc837b9 Make container runtime's cgroup configurable.
Use the real cgroups for metrics generation.

Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-02-10 16:02:34 -08:00
Jan Chaloupka
4389b3f0d6 Rewritte util.* -> wait.* wherever reasonable 2016-02-07 12:02:20 +01:00
k8s-merge-robot
c8e5e89491 Merge pull request #20395 from jimmidyson/system-container-fix
Auto commit by PR queue bot
2016-02-06 04:06:42 -08:00
Vishnu kannan
62fe566e68 Kubelet will not move docker daemons running in containers.
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-02-04 13:34:56 -08:00
Jimmi Dyson
e9c1d1ebd6 Do not move pid 1 to system container 2016-01-31 23:27:56 +00:00
Jimmi Dyson
1c289943f5 Ensure kubelet pid is not moved to system container 2016-01-29 09:30:20 +00:00
Jimmi Dyson
041ab17a67 Bump cadvisor to fix interface stats bugs & improve performance
Includes necessary godep upgrades for docker & systemd packages as well as
migrating from docker/libcontainer to opencontainers/runc/libcontainer.
2015-12-21 17:07:21 +00:00
Brendan Burns
fb576f30c8 Refactor an interface for style 2015-11-13 15:56:27 -08:00
Vishnu kannan
4ad3d6f5fe Move container manager into a separate package.
Inject container manager into Kubelet. This lets us stub out container
manager during integration testing.
2015-11-11 15:00:37 -08:00