Commit Graph

640 Commits

Author SHA1 Message Date
Vish Kannan
cadfde0bd1 Merge pull request #7277 from guenter/cgroup-parent
Add --cgroup_parent flag to Kubelet to set the parent cgroup for pods
2015-05-01 10:24:58 -07:00
Victor Marmol
441a4e6f30 Merge pull request #7578 from yujuhong/docker_manager
Add image-related methods to DockerManager
2015-04-30 16:16:39 -07:00
Yu-Ju Hong
644ec0dbfb Remove ErrNoKubeletContainers
We no longer use it.
2015-04-30 13:35:21 -07:00
Yu-Ju Hong
83c599e4d4 Add image-related methods to DockerManager
This change is part of the efforts to make DockerManager implement the Runtime
interface.

The change also modifies the interface slightly to work with existing
code, and aggregates the type converting functions to convert.go.
2015-04-30 13:27:52 -07:00
Yu-Ju Hong
2f7b951140 Remove more docker references in kubelet
This change also renames TrimRuntimePrefixFromImage to TrimRuntimePrefix to
better reflect that the usage is not limited to images (e.g. ID).
2015-04-30 13:16:11 -07:00
Tobi Knaup
b96c4046a8 Add --cgroup_root flag to Kubelet to set the parent cgroup for all pods.
Implements #6991.
2015-04-30 10:32:27 -07:00
Victor Marmol
238b3c6f4e Move lifecycle handlers to its own sub package.
This will allow injecting it into the runtimes.
2015-04-30 08:47:23 -07:00
Victor Marmol
4db5127073 Make HttpGetter a shared Kubelet type. 2015-04-30 08:47:23 -07:00
Yu-Ju Hong
baaea11cd5 Merge pull request #7520 from vmarmol/runtime-pull
Add RuntimeHooks to abstract Kubelet logic
2015-04-30 08:33:19 -07:00
Victor Marmol
2a01a2c7e9 Use RuntimeHooks in Kubelet.
Used in functionality that will be moved to the runtimes.
2015-04-29 17:06:49 -07:00
Yu-Ju Hong
d81ecc58f8 Adapt pod killing and cleanup for generic container runtime
This change removes docker-specifc code in killUnwantedPods. It
also instructs the cleanup code to move away from interacting with
containers directly. They should always deal with the pod-level
abstraction if at all possible.
2015-04-29 16:08:09 -07:00
Yu-Ju Hong
ba1140a54f Merge pull request #7480 from vmarmol/runtime-syncpod
Move ComputePodChanges to the Docker runtime
2015-04-29 16:05:20 -07:00
Victor Marmol
209b4fcbef Merge pull request #6718 from vishh/sys_oom1
Adding system oom events from kubelet
2015-04-29 14:29:38 -07:00
Victor Marmol
fe4600ba17 Move ComputePodChanges to DockerManager.
This logic is specific to the Docker runtime. This move is the first
step towards making syncPod() runtime-agnostic.
2015-04-29 14:00:37 -07:00
Vishnu Kannan
020950fd0f Adding events for system ooms.
Kubelet will continuously watch for system OOMs and generate events whenever it
encounters a system OOM.
2015-04-29 11:19:11 -07:00
Victor Marmol
f38c607285 Move Prober to its own subpackage.
This will allow it to be reused by the runtimes.
2015-04-29 10:11:28 -07:00
Yu-Ju Hong
33b8f487f6 Merge pull request #7449 from vmarmol/runtime-network-plugins
Move network plugin TearDown to DockerManager
2015-04-29 10:09:58 -07:00
Victor Marmol
02231ea75d Merge pull request #7503 from jsafrane/devel/fix-volume-rm
Fixed kubelet deleting data from volumes on stop (#7317).
2015-04-29 10:01:16 -07:00
Jan Safranek
9b9e98a22f Fixed kubelet deleting data from volumes on stop (#7317).
We must not clear the pod directory in killUnwantedPods(), volumes are still
mounted there at this time. There already is cleanupOrphanedPodDirs(),
called later in the SyncPods() sequence, which should remove these pod
directories.
2015-04-29 10:41:19 +02:00
Yifan Gu
fb1c55aa11 kubelet/container: Add GetContainerLogs to runtime interface. 2015-04-28 20:26:16 -07:00
Victor Marmol
787d42d50b Move network plugin teardown to DockerManager.
This teardown is Docker-specific and will let us also do the setup in
the manager in future cleanups.
2015-04-28 16:58:54 -07:00
Victor Marmol
de0957ccb1 Create Kubelet types package for common shared types. 2015-04-28 16:57:45 -07:00
Vishnu Kannan
820d0f3e83 Adding a 'PastEventf' method to EventRecorder interface. This will be
useful for recording the timestamp of events that happened in the past.
2015-04-28 16:13:29 -07:00
Dawn Chen
af5d017911 Merge pull request #7386 from vmarmol/rkt-pull-image
Kubelet: Factor out and remove pullImageAndRunContainer
2015-04-28 09:28:16 -07:00
Dawn Chen
1de4c45115 Merge pull request #7401 from vmarmol/rkt-kill-pod
Kubelet: Move killPod() logic to DockerManager's KillPod()
2015-04-28 09:25:12 -07:00
Victor Marmol
6b0db76e85 Move killPod() logic to DockerManager KillPod().
This moved Docker specific logic there and allows it to align with the
runtime API. There is still a pod infra container reference in the
function due to network plugins. We can handle this in the Kubelet since
we'll need to be explicit in stating that the network plugin will not
work in a non-Docker runtime.
2015-04-27 17:15:37 -07:00
Victor Marmol
42a2059a5d Remove DockerPrefix references in Kubelet.
Makes this usage generic and usable by other runtimes.
2015-04-27 15:55:13 -07:00
Victor Marmol
3082bb291c Remove pullImageAndRunContainer().
Relevant logic is now in shared helpers.
2015-04-27 15:13:11 -07:00
Victor Marmol
b232eef5f7 Move image PullPolicy logic to pullImage().
This will allow us to remove the Docker-specific logic in
pullImageAndRunContainer() and re-use pullImage() in other runtimes.
2015-04-27 15:13:11 -07:00
Dawn Chen
aa487b7cab Merge pull request #7382 from vmarmol/rkt-deps
Move Docker-specific log handling to DockerManager.
2015-04-27 15:10:14 -07:00
Victor Marmol
7404b7019c Move Docker-specific log handling to DockerManager.
Eases the separation of Docker-specific code into the Docker-specific
runtime.
2015-04-27 13:10:10 -07:00
Brian Grant
2648ae86d6 Merge pull request #6739 from pmorie/downward-api
Env var sources / downward API
2015-04-27 12:46:00 -07:00
Paul Morie
7d30f09ebf Add downward API for environment vars 2015-04-27 14:13:11 -04:00
Victor Marmol
0c52f7b6a5 Move CreatePodInfraContainer to DockerManager.
This will allow us to start making it an implementation detail of the
Docker runtime.
2015-04-27 11:07:38 -07:00
Yifan Gu
6c98b9daee kubelet/metrics: Move instrumented_docker.go to dockertools.
This can solve the circular import problem when we move the
kubelet.pullImage to kubelet/metrics or kubelet/container package.
2015-04-24 22:03:11 -07:00
Yu-Ju Hong
b0e6926f67 kubelet: filter out terminated pods in SyncPods
Once a pod reaches a terminated state (whether failed or succeeded), it should
not transit out ever again. Currently, kubelet relies on examining the dead
containers to verify that the container has already been run. This is fine
in most cases, but if the dead containers were garbage collected, kubelet may
falsely concluded that the pod has never been run. It would then try to restart
all the containers.

This change eliminates most of such possibilities by pre-filtering out the pods
in the final states before sending updates to per-pod workers.
2015-04-24 15:28:03 -07:00
Yifan Gu
b5a1b32aa4 kubelet/dockertools: Move RunContainer into container runtime.
Also removed ContainerRunner interface.
2015-04-23 16:40:37 -07:00
Yifan Gu
6ed27d06f7 kubelet: Move KillContainer to container runtime.
Rename KillContainerID(string) with KillContainer(string).
Delete the old KillContainer(*kubecontainer.Container).
2015-04-23 15:44:00 -07:00
David Oppenheimer
8667ebddff Merge pull request #7249 from yifan-gu/generator
kubelet/container: Introduce RunContainerOptionsGenerator.
2015-04-23 14:59:23 -07:00
Dawn Chen
6207c518b3 Merge pull request #7254 from yifan-gu/readiness
kubelet/dockertools: Add readinessManage/containerRefManager to dockerManager.
2015-04-23 14:34:43 -07:00
Yifan Gu
e8d485a3a1 kubelet/dockertools: Add readinessManage/containerRefManager to dockerManager.
This can enable us to move KillContainer() to container runtime.
2015-04-23 14:20:34 -07:00
Yifan Gu
bd7132bc07 kubelet/container: Introduce RunContainerOptionsGenerator.
This interface wraps the kubelet to provide the options for
container runtime to run a container.
2015-04-23 13:55:50 -07:00
Dawn Chen
f7831dcd93 Merge pull request #7229 from vmarmol/stats
Kubelet: Add /stats/container endpoint for raw containers
2015-04-23 13:43:23 -07:00
Victor Marmol
c29d328c55 Kubelet: Add /stats/container endpoint.
This endpoint exposes container stats for all raw containers on the
machine. The addition is backwards compatible.
2015-04-23 10:38:29 -07:00
Yifan Gu
af1e9f737f kubelet: Introduce volume manager.
The volume manager book-keeps the information for the volume mounts
on the kubelet, so we can avoid passing the volumeMap around.
2015-04-23 10:37:02 -07:00
Satnam Singh
2444c1f943 Propagate pod and container name for log files 2015-04-22 15:08:51 -07:00
Victor Marmol
45575d95b3 Merge pull request #7177 from yifan-gu/runner
kubelet/dockertools: Remove dockerContainerCommandRunner.
2015-04-22 13:24:50 -07:00
Yifan Gu
f59013410a kubelet/container: Move Prober/HandlerRunner interface to container/helpers.go
This enables us to pass them to container runtime as parameters.
2015-04-22 11:56:15 -07:00
Yifan Gu
c55c879ffe kubelet/dockertools: Remove dockerContainerCommandRunner.
Replace with docker manager.
2015-04-22 11:00:54 -07:00
Victor Marmol
914a6febfb Merge pull request #7010 from yifan-gu/compute
kubelet: Refactor computePodContainerChanges().
2015-04-22 08:05:18 -07:00