Abhi Shah
52db576617
Merge pull request #8882 from mesosphere/upstream_k8sm
...
Upstream Kubernetes-Mesos framework
2015-06-12 06:36:20 -07:00
James DeFelice
3cf7739b42
export kubelet.GetPhase
2015-06-12 11:11:53 +00:00
Prashanth Balasubramanian
b5ed0e9b13
Dont generatePodStatus twice for new pods
2015-06-11 17:18:16 -07:00
James DeFelice
7d66559725
added comments at the top of native k8s files which, if changed, might affect some of the k8sm code
2015-06-10 20:31:22 +00:00
krousey
f62a2a1bb6
Merge pull request #9451 from cjcullen/mig
...
Use Node IP Address instead of Node.Name in minion.ResourceLocation.
2015-06-09 15:52:12 -07:00
James DeFelice
257bc9b1a3
add GetRuntime() to simplify integration with 3rd party kubelet extensions like kubernetes-mesos
2015-06-09 13:27:34 +00:00
CJ Cullen
2d85e4a094
Use Node IP Address instead of Node.Name in minion.ResourceLocation.
...
Refactor GetNodeHostIP into pkg/util/node (instead of pkg/util to break import cycle).
Include internalIP in gce NodeAddresses.
2015-06-08 16:58:00 -07:00
Yifan Gu
f197a9db4e
kubelet: Minor refactors.
...
Remove some TODOs.
Unexport DockerManager.Puller and DockerManager.PodInfraContainerImage.
Add "docker" for all "go-dockerclient" imports.
2015-06-04 16:08:45 -07:00
Brian Grant
f72fa67924
Revert "Use Node IP Address instead of Node.Name in minion.ResourceLocation."
2015-06-03 18:19:22 -07:00
Daniel Smith
3f454b7599
remove ro refs from more places
2015-06-03 15:41:09 -07:00
Brian Grant
36a4ece87a
Merge pull request #9080 from thockin/dns-new-search-kubelet
...
Insert 'svc' into the DNS search paths
2015-06-02 22:54:07 -07:00
Brian Grant
d4acb1d676
Merge pull request #9155 from cjcullen/mig
...
Use Node IP Address instead of Node.Name in minion.ResourceLocation.
2015-06-02 22:51:20 -07:00
CJ Cullen
4e5d0da839
Use Node IP Address instead of Node.Name in minion.ResourceLocation.
...
Refactor GetNodeHostIP into pkg/util/node (instead of pkg/util to break import cycle).
Include internalIP in gce NodeAddresses. Remove NodeLegacyHostIP
2015-06-02 20:01:49 -07:00
Filip Grzadkowski
98115facfd
Revert "Gracefully delete pods from the Kubelet"
2015-06-02 23:40:05 +02:00
Brian Grant
8a9700b2ba
Merge pull request #8864 from ncdc/pluggable-docker-exec
...
Add support for pluggable Docker exec handlers
2015-06-02 14:13:06 -07:00
Brian Grant
0a28edf6e7
Merge pull request #8698 from vmarmol/with-limits
...
Reserve node resources for node services
2015-06-02 13:05:29 -07:00
Tim Hockin
a826529573
Insert 'svc' into the DNS search paths
...
Fixes #8569 .
This requires the DNS server to be running kube2sky v1.6 or higher (part of
release 0.18). Users with older kube2sky MUST NOT update to this kubelet until
they upgrade DNS. Versions of kube2sky >= 1.6 support both old and new style
names. Old style names are deprectaed and will be removed around the time of
kubernetes v1.0 release.
2015-06-01 17:02:17 -07:00
Clayton Coleman
72ee028cab
Gracefully delete pods from the Kubelet
...
This commit wires together the graceful delete option for pods
on the Kubelet. When a pod is deleted on the API server, a
grace period is calculated that is based on the
Pod.Spec.TerminationGracePeriodInSeconds, the user's provided grace
period, or a default. The grace period can only shrink once set.
The value provided by the user (or the default) is set onto metadata
as DeletionGracePeriod.
When the Kubelet sees a pod with DeletionTimestamp set, it uses the
value of ObjectMeta.GracePeriodSeconds as the grace period
sent to Docker. When updating status, if the pod has DeletionTimestamp
set and all containers are terminated, the Kubelet will update the
status one last time and then invoke Delete(pod, grace: 0) to
clean up the pod immediately.
2015-06-01 19:23:59 -04:00
Andy Goldstein
2a0d7ebb11
Add support for pluggable Docker exec handlers
...
Add support for pluggable Docker exec handlers. The default handler is
now Docker's native exec API call. The previous default, nsenter, can be
selected by passing --docker-exec-handler=nsenter when starting the
kubelet.
2015-06-01 16:59:59 -04:00
Victor Marmol
7283e662b5
Introduce SystemContainer to Kubelet ContainerManager.
...
This generalizes the handling of containers in the
ContainerManager.
Also introduces the ability to determine how much
resources are reserved for those system containers.
2015-05-29 17:32:34 -07:00
Rohit Jnagal
233ce46b83
Merge pull request #8923 from caesarxuchao/TerminationToTerminated
...
Update ContainerState.Termination to ContainerState.Terminated
2015-05-29 14:51:09 -07:00
Rohit Jnagal
50b9d6284a
Merge pull request #8681 from vmarmol/system-container
...
Create a system container
2015-05-29 09:41:06 -07:00
Chao Xu
2f6e5e2e08
Update ContainerState.Termination to ContainerState.Terminated in pkg/api/types.go and pkg/api/v1/types.go
2015-05-28 17:18:24 -07:00
Tim Hockin
bade36c7dd
Merge pull request #8826 from markturansky/b2d_fix
...
Fixed setNodeStatus to allow running on pods on OS X
2015-05-28 16:54:42 -07:00
Tim Hockin
4318ca5a8b
Rename 'portal IP' to 'cluster IP' most everywhere
...
This covers obvious transforms, but not --portal_net, $PORTAL_NET and
similar.
2015-05-28 16:10:44 -07:00
Federico Simoncelli
2a89428d44
api: add the ProviderID attribute to NodeSpec
...
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-05-28 13:01:58 -04:00
markturansky
8aa3cb22b5
added pod capacity to node.Status when cadvisor unavailable. defaults to kubelet's pod list length
2015-05-28 10:53:08 -04:00
Paul Morie
8b338860aa
Make kubelet expand var refs in cmd, args, env
2015-05-27 00:13:57 -04:00
Victor Marmol
9a2630ac6e
Make system container name configurable.
2015-05-26 20:49:55 -07:00
Victor Marmol
ddec34a000
Have the ContainerManager create a system container.
...
The system container is a resource-only container which contains all
non-kernel processes that are not already part of a container. This will
allow monitoring of their resource usage and limiting it (eventually).
2015-05-26 20:49:55 -07:00
CJ Cullen
197115853e
Report node.Ready == false until cbr0 is configured correctly
2015-05-26 10:48:29 -07:00
Dawn Chen
677a4aa1a7
Merge pull request #8164 from cjcullen/cloudprovider
...
Route creation reconciler loop.
2015-05-22 12:27:50 -07:00
David Oppenheimer
6b428ef1a8
Merge pull request #7170 from simon3z/node-events
...
Node events recording fixes
2015-05-21 12:54:38 -07:00
Dawn Chen
0710976d43
Merge pull request #8490 from thockin/diff-proto
...
Allow same-hostport-different-protocol
2015-05-21 09:16:16 -07:00
Federico Simoncelli
fefc65164a
kubelet: fix node ready condition logic
...
Fixes #8585
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-05-20 20:03:57 -04:00
Federico Simoncelli
2f503c57a5
nodecontroller: improve node status event recording
...
This patch substitutes the misleading reason "unknown" for the event
recording. For symmetry with kubelet's message "online" the conditions
Unknown and False are reported as "offline".
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-05-20 18:46:01 -04:00
CJ Cullen
bf646abf8d
Revert "Revert "Modify nodes to register directly with the master.""
...
This reverts commit c53786ab31
.
2015-05-20 14:21:03 -07:00
Quinton Hoole
c53786ab31
Revert "Modify nodes to register directly with the master."
2015-05-20 13:47:51 -07:00
Tim Hockin
9117a757e2
Revert "Introduce an 'svc' segment for DNS search"
2015-05-20 09:04:15 -07:00
Eric Tune
1f4172d23c
Merge pull request #6949 from roberthbailey/node-register
...
Modify nodes to register directly with the master.
2015-05-19 11:29:43 -07:00
Daniel Smith
181124bc9b
Merge pull request #7974 from deads2k/attach-pull-secrets-to-pods
...
Attach pull secrets to pods
2015-05-19 10:26:39 -07:00
Tim Hockin
711fa2f2c6
fix
2015-05-19 10:17:53 -07:00
Tim Hockin
c7bf373d98
Allow same-hostport-different-protocol
2015-05-19 10:00:35 -07:00
Robert Bailey
01467e0bb8
Modify nodes to register directly with the master.
...
- Delete nodes when they are no longer ready and don't exist in the
cloud provider.
- Label each node with it's hostname.
- Add flag to skip node registration.
- Add a test for registering an existing node.
2015-05-19 09:55:07 -07:00
Brian Grant
2c81050e6f
Merge pull request #8457 from davidopp/master
...
Fix stylistic isues with #5547 . Closes #4910 .
2015-05-19 07:43:21 -07:00
David Oppenheimer
44b1e1ca0c
Fix stylistic isues with #5547 . Closes #4910 .
2015-05-18 23:32:06 -07:00
Victor Marmol
c5da035d51
Merge pull request #8421 from yujuhong/active_deadline
...
Kubelet: move active deadline check to per pod worker
2015-05-18 17:42:21 -07:00
Vish Kannan
c5f7ee6f96
Merge pull request #8430 from vmarmol/logging
...
Don't run OOM watcher is cAdvisor is not available.
2015-05-18 14:41:24 -07:00
Yu-Ju Hong
2bf0646c76
Kubelet: do not remove directories of terminated pods
...
We recently changed `SyncPods` to filter out terminated pods at the beginning
for two reasons:
* performance: kubelet no longer keeps goroutines to checks containers for
terminated pods.
* correctness: kubelet relies on inspecting dead containers to generate
pod status. Because dead containers may get garbage collected and
kubelet does not have checkpoints yet, syncing terminated pod could
lead to modifying the status of a terminated pod.
However, even though kubelet should not *sync* the terminated pods, it
should not attempt to remove the directories and volumes for such
pods as long as they have not been deleted. This change fixes aggresive
directory removal by passing all pods (including terminated pods) to the
cleanup functions.
2015-05-18 13:23:49 -07:00
deads2k
0c14e0cbdb
add pull secret references to pods
2015-05-18 16:18:16 -04:00
Victor Marmol
4a1100bb66
Don't run OOM watcher is cAdvisor is not available.
...
Fixes #8424 .
2015-05-18 12:18:12 -07:00
Victor Marmol
45874d5f76
Merge pull request #5547 from gmarek/client3
...
Add a resource specifying number of Pods that are allowed to run on Kubelet.
2015-05-18 11:11:43 -07:00
Yu-Ju Hong
050b8ba60b
Kubelet: move active deadline check to per pod worker
...
Per-pod workers have sufficient knowledge to determine whether a pod has
exceeded the active deadline, and they set the status at the end of each sync.
Move the active deadline check to generatePodStatus so that per pod workers
can update the pod status directly. This eliminates the possibility of a race
condition where both SyncPods and the pod worker are updating the status, which
could lead to temporary erratic pod status behavior (pod phase: failed ->
running -> failed).
2015-05-18 10:52:41 -07:00
Yu-Ju Hong
25668ccc11
Kubelet: remove the getPodstatus method
...
Pod statuses are periodically writtien to the status manager, and status
manager sets the start time of the pod. All non-status-modifying code should
perform cache lookup and should not attempt to generate pod status on its own.
2015-05-18 10:52:36 -07:00
Yu-Ju Hong
e1a153e841
Merge pull request #8340 from dchen1107/clean
...
Wait for docker to start cadvisor.
2015-05-15 14:36:10 -07:00
derekwaynecarr
8216332611
Kubelet kills a pod that exceeds ActiveDeadlineSeconds
2015-05-15 16:33:37 -04:00
Dawn Chen
85ca8506bb
Wait for docker to start cadvisor.
2015-05-15 13:24:24 -07:00
Victor Marmol
43e4654333
Merge pull request #8292 from yujuhong/rm_podinfo
...
Remove /podInfo endpoint on kubelet
2015-05-15 08:42:02 -07:00
gmarek
27d660d0ac
Add a resource specifying number of Pods that are allowed to run on Kubelet.
2015-05-15 10:57:46 +02:00
Yu-Ju Hong
4b40db3367
Remove /podInfo endpoint on kubelet
...
Kubelet sends pod status updates to the API server now. This endpoint is no
longer needed.
2015-05-14 17:51:26 -07:00
Yu-Ju Hong
a2d04a84de
kubelet: filter out terminated pods before rejecting pods
...
Currently, kubelet doesn't filter out terminated pods before determining whether
a pod fits. This could lead to duplicated events for rejecting the pods. This
change fixes that.
This change also groups all related pod fitness checking functions into one
function to improve readability.
2015-05-14 13:02:36 -07:00
Rohit Jnagal
532f6fdcef
Merge pull request #7955 from hurf/refactor_scheduler
...
Move pkg/scheduler to plugin/pkg/scheduler
2015-05-14 10:28:52 -07:00
Dawn Chen
309a157665
Merge pull request #7984 from cjcullen/kubelet
...
Kubelet configure cbr0 instead of configure-vm.sh
2015-05-13 17:32:52 -07:00
Victor Marmol
67eab52b9e
Merge pull request #8146 from yifan-gu/runtime_opt
...
kubelet/container: Refactor RunContainerOptions.
2015-05-13 11:09:56 -07:00
Yifan Gu
d164ac0ba0
kubelet/container: Refactor RunContainerOptions.
...
Make Envs, Mounts, PortMappings more generic.
Also add default name for PortMapping if it's not specified.
2015-05-13 10:01:00 -07:00
hurf
6203ce9f85
Move pkg/scheduler to plugin/pkg/scheduler
...
As the TODO in plugin/pkg/scheduler/scheduler.go described:
move everything from pkg/scheduler into this package. Remove
references from registry.
2015-05-13 14:03:25 +08:00
CJ Cullen
31ea7d1295
Put cbr0-modifying stuff behind a flag. Address some other comments.
2015-05-12 23:00:28 -07:00
CJ Cullen
5e3d2b9138
Kubelet configure cbr0 instead of configure-vm.sh
2015-05-12 23:00:12 -07:00
Victor Marmol
40ec627cd4
Merge pull request #8108 from rjnagal/kubelet
...
Handle out of disk situation on kubelet.
2015-05-12 15:49:31 -07:00
Victor Marmol
3481db8aee
Merge pull request #8136 from yifan-gu/runtime_opt
...
kubelet/container: Remove ipcMode and netMode from RunContainerOptions.
2015-05-12 14:41:49 -07:00
Yifan Gu
a2dac158c2
kubelet/container: Remove ipcMode and netMode from RunContainerOptions.
...
Since createPodInfraContainer() is moved into dockertools. There is no
need to pass the ipcMode or netMode via RunContainerOptions.
2015-05-12 14:18:00 -07:00
Rohit Jnagal
2cf0dfb79d
Handle out of disk situation on kubelets.
...
Kubelet will stop accepting new pods if it detects low disk space on root fs or fs holding docker images.
Running pods are not affected. low-diskspace-threshold-mb is used to configure the low diskspace threshold.
2015-05-12 18:23:09 +00:00
Victor Marmol
e1447618f4
Integrating ContainerManager into Kubelet
2015-05-12 10:13:23 -07:00
Tim Hockin
41033af256
Introduce an 'svc' segment for DNS search
2015-05-11 17:20:44 -07:00
Victor Marmol
43029345f9
Merge pull request #7973 from dchen1107/podstatus
...
Add kubectl log --previous support to view last terminated container log
2015-05-11 17:08:45 -07:00
Victor Marmol
1465475401
Merge pull request #8079 from yifan-gu/rm_command_runner
...
kubelet/container: Move prober.ContainerCommandRunner to container.
2015-05-11 16:05:25 -07:00
Yifan Gu
7831b7da72
kubelet/container: Move prober.ContainerCommandRunner to container.
...
Also include the ContainerCommandRunner in Runtime interface, but
still keep the ContainerCommandRunner interface for testability.
2015-05-11 15:32:51 -07:00
Yu-Ju Hong
8b3130b112
Merge pull request #7980 from yifan-gu/fix_kubelet_tests
...
kubelet: Fix racy kubelet tests.
2015-05-11 14:09:44 -07:00
Dawn Chen
86479cc56c
Add support to pull log for last terminated container
2015-05-11 12:54:04 -07:00
Yifan Gu
52af792852
kubelet: Fix racy kubelet tests.
...
Add fakePodWorkders to run syncPod() in serial for testing.
2015-05-11 12:50:33 -07:00
Yu-Ju Hong
a9c9505206
Use VirtualSize of the docker image as the image size
2015-05-11 11:03:47 -07:00
Yu-Ju Hong
3599d81ef1
Remove some docker references
2015-05-11 11:03:47 -07:00
Yifan Gu
7e9ba26103
kubelet: Add container runtime option for rkt.
2015-05-07 23:39:37 -07:00
Victor Marmol
ecf8348609
Revert "kubelet: Add container runtime option for rkt."
2015-05-07 13:01:37 -07:00
Yifan Gu
4f6535ed8a
kubelet: Add container runtime option for rkt.
2015-05-07 10:31:58 -07:00
Victor Marmol
35c644a45f
Merge pull request #7870 from yifan-gu/rkt_volume
...
Add volumeGetter to rkt.
2015-05-07 08:58:00 -07:00
Wojciech Tyczynski
e26da316dc
Set NodeReady=False when docker is dead
2015-05-07 09:30:25 +02:00
Yifan Gu
8715c54bd3
kubelet/container: Move kubelet.volumeMap to container.VolumeMap.
...
This is a quick fix to solve circular dependency problem when
rkt references volume maps.
2015-05-06 16:50:57 -07:00
Zach Loafman
3fcea23185
Revert "Revert "Revert "Kubelet: Add rkt as a runtime option"""
2015-05-05 15:55:12 -07:00
Zach Loafman
92ca92f43a
Revert "Revert "Kubelet: Add rkt as a runtime option""
2015-05-05 15:28:09 -07:00
Zach Loafman
6016408096
Revert "Kubelet: Add rkt as a runtime option"
2015-05-05 15:15:15 -07:00
Yu-Ju Hong
b2c0ea37b4
Merge pull request #7743 from vmarmol/runtime-switch
...
Kubelet: Add rkt as a runtime option
2015-05-05 13:36:46 -07:00
Victor Marmol
9f283f356f
Start ImageManager housekeeping in Run().
...
Fixes #7762
Fixes #5634
2015-05-05 11:15:12 -07:00
Victor Marmol
22297d316a
Add rkt runtime to Kubelet init
2015-05-05 10:55:21 -07:00
Brian Grant
df8521c468
Merge pull request #7592 from pmorie/dapi-example
...
Rename EnvVarSource.FieldPath -> FieldRef and add example
2015-05-04 17:02:17 -07:00
Victor Marmol
a32d31d045
Merge pull request #7729 from yujuhong/runtime_up
...
Kubelet: wait until container runtime is up
2015-05-04 16:02:30 -07:00
Paul Morie
e949a623ff
Change EnvVarSource.FieldPath -> FieldRef and add example
2015-05-04 18:41:09 -04:00
Yu-Ju Hong
d231eb6bef
Kubelet: wait until container runtime is up
...
Instead of waiting for the docker client to be up, we wait for the container
runtime to be up.
2015-05-04 15:16:38 -07:00
Victor Marmol
ba7e940a57
Make rkt implement the container Runtime
2015-05-04 11:16:33 -07:00
Victor Marmol
79fc8bee34
Change GetContainerLogs() signature.
...
This works for both runtimes. We need to eventually unify the ID scheme
for this method.
2015-05-04 11:16:32 -07:00