Commit Graph

1175 Commits (28a8a2347100fa4a9a2d3077c805ce2eb45bfb03)

Author SHA1 Message Date
k8s-merge-robot eb15cd9f7e Merge pull request #21851 from timstclair/gc
Auto commit by PR queue bot
2016-03-03 11:39:12 -08:00
k8s-merge-robot 3f16f5f2b8 Merge pull request #22233 from yujuhong/pleg_health
Auto commit by PR queue bot
2016-03-03 11:01:26 -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
Tim St. Clair 3ad59de829 Garbage collect containers for deleted pods 2016-03-02 14:35:17 -08:00
Yu-Ju Hong 4846c1e1b2 pleg: add an internal clock for testability
Also add tests for the health check.
2016-03-01 17:53:03 -08:00
Yu-Ju Hong 94368df91a kubelet: monitor the health of pleg
PLEG is reponsible for listing the pods running on the node. If it's hung
due to non-responsive container runtime or internal bugs, we should restart
kubelet.
2016-03-01 17:24:27 -08:00
Dawn Chen a90ac42dd8 Kill docker daemon after configing cbr0 if flag --babysit-daemon is true so that babysitter process can restart it again with proper configurations and checkpoint file. 2016-03-01 16:46:31 -08:00
Saad Ali 4183ac174b Merge pull request #21408 from krousey/unversioned_breakup
Move restclient to it's own package
2016-02-29 14:03:09 -08:00
Kris e664ef922f Move restclient to its own package 2016-02-29 12:05:13 -08:00
Yu-Ju Hong 866c52c8a9 kubelet: fix duplicated status updates at pod cleanup
cleanupTerminatedPods is responsible for checking whether a pod has been
terminated and force a status update to trigger the pod deletion. However, this
function is called in the periodic clenup routine, which runs every 2 seconds.
In other words, it forces a status update for each non-running (and not yet
deleted in the apiserver) pod. When batch deleting tens of pods, the rate of
new updates surpasses what the status manager can handle, causing numerous
redundant requests (and the status channel to be full).

This change forces a status update only when detecting the DeletionTimestamp is
set for a terminated pod. Note that for other non-terminated pods, the pod
workers should be responsible for setting the correct status after killling all
the containers.
2016-02-28 13:20:40 -08:00
Yifan Gu 168ec8b80f kubelet: Sort the container statuses in convertStatusToAPIStatus(). 2016-02-26 11:27:03 -08:00
Sami Wagiaalla 8c21967dd8 Only call Detacher after the final unmount 2016-02-25 14:11:07 -05:00
k8s-merge-robot dcbeacded0 Merge pull request #21521 from mesosphere/jdef_kubelet_options1
Auto commit by PR queue bot
2016-02-24 18:35:10 -08:00
Marek Grabowski 4f12103354 Revert "kubelet: fix duplicated status updates at pod cleanup" 2016-02-24 17:57:57 +01:00
Yu-Ju Hong a68f534264 kubelet: fix duplicated status updates at pod cleanup
cleanupTerminatedPods is responsible for checking whether a pod has been
terminated and force a status update to trigger the pod deletion. However, this
function is called in the periodic clenup routine, which runs every 2 seconds.
In other words, it forces a status update for each non-running (and not yet
deleted in the apiserver) pod. When batch deleting tens of pods, the rate of
new updates surpasses what the status manager can handle, causing numerous
redundant requests (and the status channel to be full).

This change forces a status update only when detecting the DeletionTimestamp is
set for a terminated pod. Note that for other non-terminated pods, the pod
workers should be responsible for setting the correct status after killling all
the containers.
2016-02-23 01:03:04 -08:00
Prashanth Balasubramanian c97e8df65b Stricter checking of HAIRPIN_FLAG in salt. 2016-02-21 14:43:43 -08:00
Prashanth Balasubramanian 2e8ff81de1 Teach the kubelet about --hairpin-mode=promiscuous-bridge. 2016-02-20 22:40:54 -08:00
k8s-merge-robot 807344da0b Merge pull request #21235 from davidopp/affinity-docs
Auto commit by PR queue bot
2016-02-20 11:15:02 -08:00
Daniel Smith a8b943dddd Revert "Put the container bridge in promiscuous mode." 2016-02-19 23:14:53 -08:00
James DeFelice 6c09689c60 add functional Option type to Kubelet, add SetNodeStatus Option, migrate node statue update funcs to slice of callbacks 2016-02-20 02:09:54 +00:00
Prashanth Balasubramanian a694a7ae4b Teach the kubelet about --hairpin-mode=promiscuous-bridge. 2016-02-19 14:59:16 -08:00
k8s-merge-robot 057b8352ec Merge pull request #21182 from vishh/repoTagsRename
Auto commit by PR queue bot
2016-02-19 08:56:09 -08:00
David Oppenheimer 053f1c6008 Update user guide and scheduler documentation to describe node affinity.
Register image priority locality function, which the original PR that introduced
it forgot to do. Change zone and region labels to beta.
2016-02-18 17:09:41 -08:00
laushinka 7ef585be22 Spelling fixes inspired by github.com/client9/misspell 2016-02-18 06:58:05 +07:00
Vishnu kannan 8d0370ede3 Do not set container runtime health check until on kubelet init.
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-02-16 16:40:48 -08:00
Vishnu kannan 2623fdde17 Improve the naming of fields in ContainerImage struct used in NodeStatus.
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-02-16 15:45:22 -08:00
k8s-merge-robot 180d34ed52 Merge pull request #21120 from Random-Liu/minor-probe-manager-refactor
Auto commit by PR queue bot
2016-02-15 19:41:45 -08:00
k8s-merge-robot d6b4ff3884 Merge pull request #20909 from Clarifai/instance-type-label
Auto commit by PR queue bot
2016-02-13 18:51:42 -08:00
Rudi Chiarito b3863eae82 Add instance-type label to cloud providers
Fully implemented for AWS and GCE
2016-02-12 15:02:03 -05:00
Lantao Liu 77b6f14f86 Change pod in probe update to pod uid. 2016-02-12 05:02:31 +00: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
k8s-merge-robot c6ed624bfb Merge pull request #19503 from markturansky/attacher_interface
Auto commit by PR queue bot
2016-02-09 20:50:41 -08:00
k8s-merge-robot b97214304c Merge pull request #20942 from Random-Liu/fix-bug-in-sync-loop
Auto commit by PR queue bot
2016-02-09 20:24:02 -08:00
Random-Liu e3ea0b1cbb Stop using pod from livenessManager in main sync loop 2016-02-09 16:32:54 -08:00
Prashanth Balasubramanian c3a3a2bacd Pipe hairpin-mode flag through kubelet, enable on soak. 2016-02-09 12:12:19 -08:00
Paul Morie c6ab0a8677 Remove unused getRuntimePodStatus func from Kubelet 2016-02-08 16:46:11 -05:00
James DeFelice 1aec798aa0 support optional envvars for pod-infra-container 2016-02-08 13:48:25 +00:00
markturansky a242a3d5fe Added Attacher/Detacher interfaces and support to kubelet 2016-02-07 16:55:58 -05:00
Jan Chaloupka 4389b3f0d6 Rewritte util.* -> wait.* wherever reasonable 2016-02-07 12:02:20 +01:00
k8s-merge-robot fcf9c4a1e4 Merge pull request #19741 from pwittrock/syncfsmetrics
Auto commit by PR queue bot
2016-02-05 17:54:22 -08:00
k8s-merge-robot 8163b6ce97 Merge pull request #20671 from vishh/avoid-moving-all-dockers
Auto commit by PR queue bot
2016-02-05 16:49:03 -08:00
Phillip Wittrock 3de94cd23c Supply volume fs metrics to server/stats/handler.go
* Metrics will not be expose until they are hooked up to a handler
* Metrics are not cached and expose a dos vector, this must be fixed before release or the stats should not be exposed through an api endpoint
2016-02-05 16:00:24 -08:00
Chao Xu 184440f8ef rename release_1_2 to internalclientset 2016-02-05 14:02:28 -08:00
k8s-merge-robot bd67b8a5db Merge pull request #20192 from Random-Liu/remove-get-api-podstatus
Auto commit by PR queue bot
2016-02-05 11:00:42 -08:00
Marcin Wielgus bf0c881263 Set Docker custom metric label for cAdvisor if custom metric volume is mounted 2016-02-05 12:00:02 +01:00
k8s-merge-robot c09b67f60f Merge pull request #20591 from caesarxuchao/legacy-to-core
Auto commit by PR queue bot
2016-02-04 17:37:12 -08:00
Chao Xu 1b047f8e67 rename legacy to core 2016-02-04 14:26:56 -08:00
Phillip Wittrock ba5be34574 Kubelet Metrics Summary Api Implementation 2016-02-04 14:05:28 -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
Saad Ali 7d70edc91f Merge pull request #20553 from jonboulle/yifan-gu-rkt_dns
rkt: Add DNS support
2016-02-04 10:55:38 -08:00
k8s-merge-robot 65ebe19164 Merge pull request #20584 from caesarxuchao/release_1_2
Auto commit by PR queue bot
2016-02-03 19:46:27 -08:00
k8s-merge-robot bb7ad7cd09 Merge pull request #18795 from dcbw/cbr0-network-plugin
Auto commit by PR queue bot
2016-02-03 19:46:25 -08:00
Saad Ali 25f02f19e1 Merge pull request #20603 from pmorie/pod-ip-debug
Make it easier to debug pod IP flakes for downward API
2016-02-03 16:09:33 -08:00
Paul Morie 1db0925521 Make it easier to debug pod IP flakes for downward API 2016-02-03 18:26:07 -05:00
Chao Xu f9f5736b01 grep sed 2016-02-03 13:06:07 -08:00
Dan Williams fabb65c13f Add a network plugin that duplicates "configureCBR0" functionality 2016-02-03 10:08:08 -06:00
Dan Williams 67414afd11 Send PodCIDR to network plugins as an event 2016-02-03 10:08:07 -06:00
Yifan Gu e9139bb0e5 kubelet: Rename RunContainerOptionsGenerator to RuntimeHelper.
Also add GetClusterDNS() to the interface to let rkt get the
DNS servers, DNS names.
2016-02-03 14:54:08 +01:00
Jan Safranek e90de3f985 Fixed cleanup of persistent volumes.
Kubelet.cleanupOrphanedVolumes() compares list of volumes mounted to a node
with list of volumes that are required by pods scheduled on the node
("scheduled volume").

Both lists should contain real volumes, i.e. when a pod uses
PersistentVolumeClaim, the list must contain name of the bound volume instead
of name of the claim.
2016-02-03 10:00:09 +01:00
k8s-merge-robot 843c11e06a Merge pull request #20452 from caesarxuchao/replace-client-kubelet
Auto commit by PR queue bot
2016-02-02 23:46:58 -08:00
Chao Xu cddd7b56a4 replace client with clientset in kubelet and other places 2016-02-02 20:28:45 -08:00
Random-Liu 41b12a18d9 Remove GetAPIPodStatus usage 2016-02-02 23:41:55 +00:00
Chao Xu a6d96a04d0 make kubelet.HandlePodsDeletion aware of api.Pod 2016-02-02 13:01:17 -08:00
k8s-merge-robot 71ae2736c0 Merge pull request #19889 from yujuhong/replace_cache
Auto commit by PR queue bot
2016-02-02 00:41:06 -08:00
k8s-merge-robot 126f798699 Merge pull request #19942 from yujuhong/mirror_creation
Auto commit by PR queue bot
2016-02-01 22:55:38 -08:00
Yu-Ju Hong ff04de4fc0 Remove RuntimeCache from sync path
This change removes RuntimeCache in the pod workers and the syncPod() function.
Note that it doesn't deprecate RuntimeCache completely as other components
still rely on the cache.
2016-02-01 21:32:41 -08:00
k8s-merge-robot 32ab64ce5b Merge pull request #19778 from resouer/runtime
Auto commit by PR queue bot
2016-02-01 21:05:05 -08:00
k8s-merge-robot 348858061d Merge pull request #20258 from smarterclayton/get_logs_for_any_container
Auto commit by PR queue bot
2016-02-01 16:24:20 -08:00
k8s-merge-robot feb4b4857c Merge pull request #19890 from vishh/0-nodes
Auto commit by PR queue bot
2016-02-01 14:09:06 -08:00
harry 1032067ff9 Replace runtime reference by pkg 2016-02-01 21:06:44 +08:00
k8s-merge-robot e07d9b3ee7 Merge pull request #20174 from yifan-gu/rkt_insecure_options
Auto commit by PR queue bot
2016-02-01 03:44:16 -08:00
Chao Xu c72d234bbf replacing handwritten client in several controllers 2016-01-31 15:42:02 -08:00
Clayton Coleman d6d4a17db6 Allow clients to request most recent container logs
Many users attempt to use 'kubectl logs' in order to find the logs
for a container, but receive no logs or an error telling them their
container is not running. The fix in this case is to run with '--previous',
but  this does not match user expectations for the logs command.

This commit changes the behavior of the Kubelet to return the logs of
the currently running container or the previous running container unless
the user provides the "previous" flag. If the user specifies "follow"
the logs of the most recent container will be displayed, and if it is
a terminated container the logs will come to an end (the user can
repeatedly invoke 'kubectl logs --follow' and see the same output).

Clean up error messages in the kubelet log path to be consistent and
give users a more predictable experience.

Have the Kubelet return 400 on invalid requests
2016-01-31 17:47:29 -05:00
k8s-merge-robot ce9f93df2e Merge pull request #20061 from mikedanese/copypaste
Auto commit by PR queue bot
2016-01-30 05:52:26 -08:00
k8s-merge-robot 29c640d5ba Merge pull request #19579 from Random-Liu/add-new-reason-cache
Auto commit by PR queue bot
2016-01-30 02:06:49 -08:00
Random-Liu bad7046b1a Start using new convert function in kubelet 2016-01-30 00:31:26 -08:00
Random-Liu 139548141e Move ConvertPodStatusToAPIPodStatus() to kubelet level 2016-01-30 00:25:50 -08:00
Random-Liu e9dceb36e9 Start using reason cache in kubelet 2016-01-30 00:25:50 -08:00
Random-Liu e93febfd61 Start returning PodSyncResult in SyncPod 2016-01-30 00:25:50 -08:00
k8s-merge-robot 2d061aa199 Merge pull request #19784 from Random-Liu/cleanup-kubelet-syncpod
Auto commit by PR queue bot
2016-01-30 00:25:49 -08:00
k8s-merge-robot db7e524750 Merge pull request #19850 from yujuhong/enable_cache
Auto commit by PR queue bot
2016-01-29 19:47:53 -08:00
Yifan Gu d03b705c5f rkt: Replace the deprecated flag 'insecure-skip-verify' with 'insecure-options'. 2016-01-28 14:31:27 -08:00
Paul Morie 9030f16071 Move ConfigMap to main API 2016-01-28 17:07:05 -05:00
Mike Danese e2fecf36b9 daemonset: apply predicated when placing daemon pods 2016-01-28 13:26:16 -08:00
k8s-merge-robot 3f5e417999 Merge pull request #19502 from swagiaal/internalize-ownership
Auto commit by PR queue bot
2016-01-26 23:06:39 -08:00
k8s-merge-robot 8c821700f3 Merge pull request #19389 from justinsb/internal_cidr
Auto commit by PR queue bot
2016-01-26 03:58:48 -08:00
Yu-Ju Hong 25f2c6f330 Improve mirror pod creation/deletion
- Ignore the "not found" error on deletion.
 - Recognize the "already exists" error on creation and check if the existing
   pod meets requirement. If so, don't report an error.
 - Immediately create a mirror pod after a successful deletion, if needed.
2016-01-21 16:01:14 -08:00
Justin Santa Barbara 58191c446c Allow non-masquerade-cidr to be passed to the kubelet
Removing the hard-coding of 10.0.0.0/8

Issue #11204
2016-01-21 15:18:31 -05:00
Alex Mohr c52122cab5 Merge pull request #19675 from apcera/kubelet-report-runtime-version
Update container runtime to properly report the engine and version
2016-01-21 10:31:19 -08:00
Alex Mohr d2d349bc84 Merge pull request #19334 from resouer/network
Networking should be used to hold network related pkgs
2016-01-21 10:26:13 -08:00
Random-Liu eb56d46b74 Minor clean up in kubelet syncPod() 2016-01-20 17:31:59 -08:00
Ken Robertson a7b07c01df Update container runtime to properly report the engine and version
This address a TODO when collecting the node version information so it
will properly report the configured runtime and its version. Previously,
this was hardcoded to "docker://" and the docker version, and would show
"docker://1.9.1" even when the kubelet was configured to use rkt.

With this change, it will use the runtime's Type() and Version() data.

This also changes the container.Runtime interface to add an APIVersion()
method. This can be used when the runtime has separate versions for the
engine and the API, such as with Docker. The Docker minimum version
validation has been updated to use APIVersion(), and
DockerManager.Version() now returns the engine version.
2016-01-20 16:42:25 -08:00
Vishnu kannan 21748701f1 Avoid nodes that have `0` cpu and memory capacity.
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-01-20 15:34:58 -08:00
Yu-Ju Hong cfb5442b2d Turn on kubecontainer.Cache in kubelet 2016-01-19 18:15:10 -08:00
Paul Morie c548054560 Add ability to consume secrets in env vars 2016-01-18 12:20:51 -05:00
Piotr Szczesniak 9659057986 Revert "Enable kubecontainer.Cache in kubelet" 2016-01-18 13:35:41 +01:00
k8s-merge-robot ac0d01f8ca Merge pull request #19436 from yujuhong/status_cache_p2
Auto commit by PR queue bot
2016-01-16 09:24:19 -08:00
k8s-merge-robot 21aa683fb5 Merge pull request #18974 from pmorie/config-env
Auto commit by PR queue bot
2016-01-15 06:42:56 -08:00
Harry Zhang 936a11e775 Use networking to hold network related pkgs
Change names of unclear methods

Use net as pkg name for short
2016-01-15 13:46:16 +08:00
Mike Danese 9745d1cbf0 Merge pull request #19626 from mikedanese/kubelet-labels
kubelet: use ConfigurationMap instead of json
2016-01-14 14:08:53 -08:00