Commit Graph

466 Commits (d368afd8451229969156c4a37c1fff94643b1d82)

Author SHA1 Message Date
Yifan Gu d814d973ff rkt: Bump rkt required version. Get options from api service. 2016-03-28 17:06:14 -07:00
goltermann 32d569d6c7 Fixing all the "composite literal uses unkeyed fields" Vet errors. 2016-03-25 15:25:09 -07:00
Lucas Käldström c6172e58cf Make kubelet use an arch-specific pause image depending on GOARCH 2016-03-25 23:45:59 +02:00
Jan Chaloupka 663fbce3a0 Kubelet: node allocatable resources: negative quantities should not be allowed
When setting kube/system-resources for a node, negative quantities can result in
node's allocatable being higher then node's capacity.
Let's check the quantity and return error if it is negative.
2016-03-23 18:02:07 +01:00
k8s-merge-robot 4af38b52b9 Merge pull request #22736 from resouer/fix-util-dev
Auto commit by PR queue bot
2016-03-22 19:54:58 -07:00
Harry Zhang a4d04095d0 Refactor crlf & crypto 2016-03-21 20:20:05 +08:00
harry 343b1927d1 Refactor config map into sub pkg 2016-03-21 14:50:57 +08:00
Prashanth Balasubramanian 544d0a5c05 Cleanup hairpin flag in the kubelet. 2016-03-07 11:55:09 -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
Kris e664ef922f Move restclient to its own package 2016-02-29 12:05:13 -08:00
k8s-merge-robot f0c0af2561 Merge pull request #20528 from mikedanese/varz
Auto commit by PR queue bot
2016-02-27 00:27:18 -08: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
Mike Danese 5ec02bd021 add http handler to export configuration state 2016-02-24 14:12:28 -08:00
Dawn Chen 699c80b752 Merge pull request #21641 from bprashanth/promisc
Teach the kubelet about promiscuous mode, take 2
2016-02-22 15:08:18 -08:00
k8s-merge-robot 6d0e57b711 Merge pull request #20953 from yujuhong/log_error
Auto commit by PR queue bot
2016-02-21 02:45:23 -08:00
Prashanth Balasubramanian 2e8ff81de1 Teach the kubelet about --hairpin-mode=promiscuous-bridge. 2016-02-20 22:40:54 -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 1a2f811a3b Merge pull request #20063 from mqliang/imageGC-config
Auto commit by PR queue bot
2016-02-17 06:16:45 -08:00
Chao Xu 97aecd002a remove underscore in imported pkg names 2016-02-16 10:54:51 -08:00
mqliang 641ba92aa3 move minGCAge to ImageGCPolicy and make it configurable 2016-02-15 22:54:54 +08:00
Yu-Ju Hong 0eb04cb433 Log kubelet startup error messages 2016-02-12 16:43:54 -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 51e4ccf106 Updating the default values for the cgroups hierarchies that kubelet
creates for managing the nodes.

Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-02-10 16:02:36 -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
Mike Danese b3172a4ccf kubelet: add a pidfile 2016-02-10 11:38:50 -08:00
Prashanth Balasubramanian c3a3a2bacd Pipe hairpin-mode flag through kubelet, enable on soak. 2016-02-09 12:12:19 -08:00
James DeFelice 1aec798aa0 support optional envvars for pod-infra-container 2016-02-08 13:48:25 +00: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
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
Marcin Wielgus bf0c881263 Set Docker custom metric label for cAdvisor if custom metric volume is mounted 2016-02-05 12:00:02 +01:00
Chao Xu 1b047f8e67 rename legacy to core 2016-02-04 14:26:56 -08:00
Chao Xu f9f5736b01 grep sed 2016-02-03 13:06:07 -08: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
CJ Cullen 04eb90a5d4 Make tunneler hold tunnels open and healthcheck vs. reopening every 5 minutes.
Also add a test for the Update() logic.
Reordered tunnels vs. storage initialization (prevent a nil ptr panic)
2016-02-02 12:00:29 -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 4eaffd2477 Merge pull request #19900 from vishh/kubelet-cpu-cfs
Auto commit by PR queue bot
2016-02-01 15:18:30 -08:00
harry 1032067ff9 Replace runtime reference by pkg 2016-02-01 21:06:44 +08:00
Chao Xu c72d234bbf replacing handwritten client in several controllers 2016-01-31 15:42:02 -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
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
Vishnu kannan 214b85e708 Enable CPU CFS quota by default.
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-01-21 10:33:28 -08:00
Mike Danese 1162cfd3b1 kubelet: move most of kubelet server configuration to a config object.
This is part of migrating kubelet configuration to the componentconfig api
group and is preliminary to retrofitting client configuration and
implementing full fledged API group mechinary.

Signed-off-by: Mike Danese <mikedanese@google.com>
2016-01-15 15:31:59 -08:00
Mike Danese 35a3785cf6 kubelet: use ConfigurationMap instead of json 2016-01-14 09:32:42 -08:00
Sami Wagiaalla 125295ba40 Remove manageVolumeOwnership from kubelet 2016-01-13 10:37:10 -05:00
Tim St. Clair e2ffd007f7 Implement node Allocatable
Add `kube-reserved` and `system-reserved` flags for configuration
reserved resources for usage outside of kubernetes pods. Allocatable is
provided by the Kubelet according to the formula:
```
Allocatable = Capacity - KubeReserved - SystemReserved
```

Also provides a method for estimating a reasonable default for
`KubeReserved`, but the current implementation probably is low and needs
more tuning.
2016-01-12 17:00:43 -08:00
Phillip Wittrock f1c8384ff4 Node labels: Remove node-labels-file command line option. Change --node-label format from key=value to key:value to be consitent with how the header key:value is specified on command line. 2016-01-12 12:57:12 -08:00
Clayton Coleman 791d160b42 Split the Kubelet flag options and struct
Reduces the size of the app/server.go file and ensures that the flags
and their defaults are clearly separated.
2016-01-06 21:23:06 -05:00
Madhusudan.C.S 059c2aa799 Mitigate node out of disk status oscillation by delaying it.
Implement a flag that defines the frequency at which a node's out of
disk condition can change its status. Use this flag to suspend out of
disk status changes in the time period specified by the flag, after
the status is changed once.

Set the flag to 0 in e2e tests so that we can predictably test out of
disk node condition.

Also, use util.Clock interface for all time related functionality in
the kubelet. Calling time functions in unversioned package or time
package such as unversioned.Now() or time.Now() makes it really hard
to test such code. It also makes the tests flaky and sometimes
unnecessarily slow due to time.Sleep() calls used to simulate the
time elapsed. So use util.Clock interface instead which can be faked
in the tests.
2016-01-04 12:23:38 -08:00
Ravi Sankar Penta d0dd6c844b Allow node IP to be passed as optional config for kubelet
In case of multiple IPs on the node, this will allow admin to
specify desired IP to be used for the node.
2016-01-03 09:29:07 -08:00
Chakravarthy Nelluri fa76de79e5 Add support for flex volume. Flex volume adds support for thirdparty(vendor)
volumes and custom mounts.
2015-12-23 14:11:38 -08:00
Tim St. Clair 89bc7992f9 Refactor kubelet server into its own package
Refactor Kubelet's server functionality into a server package. Most
notably, move pkg/kubelet/server.go into
pkg/kubelet/server/server.go. This will lead to better separation of
concerns and a more readable code hierarchy.
2015-12-15 10:20:38 -08:00
k8s-merge-robot d71e838d91 Merge pull request #17760 from gmarek/kubelet-port-salt
Auto commit by PR queue bot
2015-12-08 21:14:10 -08:00
Abhi Shah bb3f49e526 Merge pull request #18089 from ArtfulCoder/oneNSAgain
SkyDNS is the only NS for Pods with DNSPolicy=ClusterFirst
2015-12-07 10:20:29 -08:00
gmarek 4060eba626 Use KubeletPort from API object, salt changes, take 2
This reverts commit a7425bf070, reversing
changes made to 4a9b0fc715.
2015-12-07 10:31:11 +01:00
Marek Grabowski 348e7ecc5d Merge pull request #17349 from PeterLamar/master
Small readability improvements in Kubelet
2015-12-03 10:08:58 +01:00
Abhishek Shah 6c3a88cb3a SkyDNS is the only NS for Pods with DNSPolicy=ClusterFirst 2015-12-02 10:26:49 -08:00
Fabio Yeon 7100d278e3 Revert "SkyDNS is the only NS for Pods with DNSPolicy=ClusterFirst" 2015-12-01 20:58:27 -08:00
k8s-merge-robot 4602220ad0 Merge pull request #15645 from ArtfulCoder/oneNS
Auto commit by PR queue bot
2015-12-01 13:51:37 -08:00
k8s-merge-robot c7cddbefc9 Merge pull request #17697 from dchen1107/event
Auto commit by PR queue bot
2015-11-26 13:42:05 -08:00
Abhishek Shah 015df14a4a SkyDNS is the only NS for Pods with DNSPolicy=ClusterFirst 2015-11-25 15:02:40 -08:00
Prashanth Balasubramanian 9aa0efa393 Turn flannel off by default 2015-11-25 09:43:48 +01:00
Prashanth Balasubramanian ad2d3d4c20 Docs etc 2015-11-25 09:42:59 +01:00
Prashanth Balasubramanian 7aa8ebe30f Flannel handshakes with kubelet. 2015-11-25 09:42:59 +01:00
jiangyaoguo e3ea9d7c40 add separate client for events in kubelet 2015-11-25 01:28:34 +08:00
Dawn Chen 0b734cec93 Have a sane default for RegistryPullQPS 2015-11-23 17:14:15 -08:00
Rohith c2526c93fa - adding the -node-label flag to the kubelet which allows for a initial tagging / labelling of the node on cluster registration
- the labels can come from a series of key=pair value or file:///path_to_file which contains key pairs
2015-11-18 23:20:58 +00:00
cephaslr aef7af1ba4 Rename kubelet variable pods to maxPods in kubelet pkg to match pods variable in kubelet cmd.
Remove comment requesting modification of mesos contrib file, dependencies should be maintained in unit tests
2015-11-16 20:15:40 -05:00
Yu-Ju Hong ac778e8203 Adjust the sync/backoff period
Set resyncInterval to one minute now that we rely on the generic pleg to trigger
pod syncs on container events. When there is an error during syncing, pod
workers need to wake up sooner to retry. Set the sync error backoff period to
10 second in this case.
2015-11-13 09:57:25 -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
Avesh Agarwal f111033641 Fix defaults for MaxPods and MaxOpenFiles.
Fix go formatting and docs.
2015-11-10 12:20:54 -05:00
Avesh Agarwal a71a9a9164 Fix default value for StreamingConnectionIdleTimeout. 2015-11-10 11:29:28 -05:00
derekwaynecarr b403e30d1a Kubelet serialize image pulls had incorrect default 2015-11-03 15:24:01 -05:00
Andy Goldstein 325e0ce68b Fix kubelet help typo
Fix double percent (%%) typo for image-gc-high-threshold and
image-gc-low-threshold help text.
2015-10-26 10:37:46 -04:00
feisky 13dce74adb Gendocs for docs/admin/kube-* 2015-10-25 19:24:23 +08:00
k8s-merge-robot e1559e9fb5 Merge pull request #15352 from pmorie/fsgroup
Auto commit by PR queue bot
2015-10-24 01:55:45 -07:00
Steve Sloka 4302208aa9 globally search/replace 'KubeApiQps' to 'KubeAPIQPS' and 'KubeApiBurst' to 'KubeAPIBurst' to match GO rules 2015-10-23 08:24:19 -04:00
Vishnu kannan 0df4b46d4c Adding a kubelet flag to optionally enable parallel image pulls. 2015-10-22 17:19:51 -07:00
Paul Morie 3cd12f5e05 FSGroup implementation 2015-10-22 16:40:59 -04:00
Aaron Crickenberger 69351e3e88 Expose kube-api burst/qps settings for kube components
Default to hardcodes for components that had them, and 5.0 qps, 10 burst
for those that relied on client defaults

Unclear if maybe it'd be better to just assume these are set as part of
the incoming kubeconfig.  For now just exposing them as flags since it's
easier for me to manually tweak.
2015-10-12 11:56:15 -04:00
Mike Danese 392f33e417 Merge pull request #14054 from mikedanese/register-master
register master kubelet with the apiserver
2015-10-09 17:12:37 -07:00
Yu-Ju Hong a3e60cc32e Rename imported package local name kubeletTypes to kubetypes
According to the naming guidelines, package name should not include mixedCaps.
2015-10-09 10:24:31 -07:00
k8s-merge-robot b793c3edf1 Merge pull request #14700 from liggitt/kubelet_authz
Auto commit by PR queue bot
2015-10-09 03:01:43 -07:00
k8s-merge-robot 538cf72208 Merge pull request #15051 from feiskyer/kubelet/garbage-collection
Auto commit by PR queue bot
2015-10-09 02:11:47 -07:00
Jordan Liggitt 9d6b52881d Add authentication/authorization interfaces to kubelet, always include /metrics with /stats 2015-10-09 03:10:00 -04:00
Mike Danese fa60bbe8e6 add flag to kubelet to ignore the cidr passed down by the apiserver on the master 2015-10-08 21:21:19 -07:00
feisky d624c7de51 Pass the ContainerGCPolicy in Runtime.GarbageCollect 2015-10-09 06:57:10 +08:00
Yu-Ju Hong 098ab05997 kubelet: move common types to kubelet/types
This would faciliate tasks such as moving code in pkg/kubelet to sub packages.
2015-10-08 14:38:01 -07:00
Alex Robinson fe185f5ea7 Merge pull request #14415 from mesosphere/sttts-code-dedup-kubelet-init
Preparation for Mesos kubelet code-deduplication
2015-10-05 14:43:06 -07:00
Abhishek Shah 37692d498c allow hostNetwork, hostPID and hostIPC by default 2015-10-02 15:26:17 -07:00
Dr. Stefan Schimanski df5e9f8a4d Allow to override the pod config in CreateAndInitKubelet 2015-10-02 19:38:03 +02:00
Dr. Stefan Schimanski 2c03c04879 Make createAndInitKubelet public to be reusable 2015-10-02 19:38:02 +02:00
Dr. Stefan Schimanski cd760cc4ea Make kubelet builder customizable
This is the preparation to remove a lot of duplicated code for kubelet
initialization in https://github.com/kubernetes/kubernetes/pull/13036.
2015-10-02 19:38:02 +02:00
gmarek fc79ce347e Allow usining FakeOOMAdjuster in Kubelet 2015-10-01 10:55:08 +02:00
k8s-merge-robot b661cfd21e Merge pull request #14643 from liguangbo/change_Oom_to_OOM
Auto commit by PR queue bot
2015-09-29 18:54:22 -07:00
gmarek 7cfb3479e0 Small fixes to Kubemark scripts 2015-09-29 10:24:46 +02:00
liguangbo 12299087da Change Oom to OOM 2015-09-28 18:18:04 +08:00
gmarek dd3bd73948 Initial Kubemark commit 2015-09-28 11:39:05 +02:00
Dawn Chen 38583307ca flag controlled RLIMIT_NOFILE for kubelet. 2015-09-22 15:18:34 -07:00
Federico Simoncelli f21d9ac9e4 Support pods with containers using host ipc
Add a HostIPC field to the Pod Spec to create containers sharing
the same ipc of the host.

This feature must be explicitly enabled in apiserver using the
option host-ipc-sources.

Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-09-18 21:13:39 +02:00
Filip Grzadkowski 7fe34f2050 Introduce nsenter writer for volume plugins 2015-09-17 16:40:29 +02:00
k8s-merge-robot 445fde3dc5 Merge pull request #13447 from pweil-/pid-mode
Auto commit by PR queue bot
2015-09-16 23:34:35 -07:00
gmarek 4b8ddf3d7e Add information about ports opened by Kubelet to API 2015-09-15 14:24:55 -04:00
Paul Weil ed80c2b940 pid mode 2015-09-15 13:51:44 -04:00
k8s-merge-robot bfc60709b1 Merge pull request #13468 from yifan-gu/rkt_doc
Auto commit by PR queue bot
2015-09-10 20:32:08 -07:00
Daniel Smith b225c1d47a Run gofmt (separate commit for easy rebases) 2015-09-10 17:17:59 -07:00
Daniel Smith 15b30b8b09 Move version agnostic parts of client
pkg/client/unversioned/cache -> pkg/client/cache
pkg/client/unversioned/record -> pkg/client/record
2015-09-10 17:17:59 -07:00
Yifan Gu e7b9c50ba1 kubelet/rkt: add support for different stage1 image.
Also enable grace stop for service files.
2015-09-10 14:58:03 -07:00
gmarek 44e6a566f6 alphabetize structs in cmd/kubelet/app/server.go 2015-09-10 09:54:12 +02:00
gmarek 3f8953e23b Add additional knobs to SimpleKubelet 2015-09-10 09:24:13 +02:00
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
derekwaynecarr 5dc74e8dbf Add support for CFS quota in kubelet 2015-09-03 13:44:28 -04:00
He Simei f5bdea836e specify gc 2015-09-01 10:16:20 +08: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
Matt McCoy 5a2f992d75 Fixing kubelet cmd documentation for register-node argument 2015-08-27 21:04:08 -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 c237ac4c84 Merge pull request #13003 from yujuhong/decouple_workers
kubelet: trigger pod workers independently
2015-08-26 09:53:25 -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 3bc2157889 Merge pull request #13100 from pweil-/cap-priv-sources
use privileged source object
2015-08-25 16:10:50 -07:00
Paul Weil 709e654686 use privileged source object 2015-08-24 16:53:43 -04:00
caogaojin 60cb4406e9 Cleanup deprecated Forever function
Since util.Forever function has been deprecated, we should cleanup these
pieces of code.
2015-08-24 10:31:59 +08:00
Jonathan Wills 80e799fc0c Allow configuring the rkt binary in a kubelet with a flag.
This is necessary because coreos comes with rkt installed, and if we want to use a different version
we need some way to avoid the default one.
2015-08-19 09:42:13 -04:00
Kris Rousey ae6c64d9bb Moving everyone to unversioned client 2015-08-18 10:23:03 -07:00
Kris Rousey 2a17dbff13 Moving clientauth package to be under client 2015-08-12 14:43:17 -07:00
Eric Paris fe6b633e2a Convert for util.IP to just use a net.IP
pflag can handle IP addresses so use the pflag code instead of doing it
ourselves. This means our code just uses net.IP and we don't have all of
the useless casting back and forth!
2015-08-10 10:15:05 -04:00
Satnam Singh 991775e77b Merge pull request #10724 from eparis/convert-underscore-to-dash
Convert underscore to dash
2015-08-07 16:40:05 -07:00
Satnam Singh 950ec96db0 Merge pull request #12182 from AnanyaKumar/qos-node
Add QoS support on node
2015-08-07 14:27:02 -07:00
Ananya Kumar 6ef3de1d5f Add QoS support on node 2015-08-07 11:18:16 -07:00
Eric Paris cfc9312b7f Convert pkg/ and cmd/ from --flag_name= to --flag-name= 2015-08-07 11:00:13 -04:00
David Walter 792fc2269b change underscores to dashes to match the command line argument 2015-08-06 22:13:44 -05:00
Eric Paris 7cbb52ce04 Use the pflag StringSlice instead of implementing it ourselves
Saves code and makes our code easier to read because we just use normal
[]string instead of custom type.
2015-08-06 19:16:13 -04:00
Clayton Coleman bb79365e2a Split kubelet server initialization into two parts
First is initializing a KubeletConfig that starts no background
processes. Second is running the config. Provide a legacy path
that won't impact older callers while making it easier to customize
the interfaces passed to the Kubelet.

Used by OpenShift to inject some custom interfaces to the Kubelet
for config management.
2015-08-06 09:59:58 -04:00
Mike Danese 17defc7383 run gofmt on everything we touched 2015-08-05 17:52:56 -07:00
Mike Danese 8e33cbfa28 rewrite go imports 2015-08-05 17:30:03 -07:00
Mike Danese 12b9da8f3d Merge pull request #9976 from smarterclayton/nsenter_mount_broken
Fix mount issues in containerized Kubelet
2015-07-31 17:15:28 -07:00
Mike Danese 9582c7e54e Merge pull request #12024 from a-robinson/metadata
Support passing a header to the manifest URL in the kubelet.
2015-07-30 13:46:22 -07:00
Alex Robinson cf011cad55 Support passing a header to the manifest URL in the kubelet.
Needed to support using GCE's v1 metadata API, which requires passing
the header "Metadata-Flavor: Google".
2015-07-30 17:11:27 +00:00
Brendan Burns 99b02bfe73 Add optional throttling to the proxy/exec/attach methods 2015-07-29 13:51:20 -07:00
Mike Danese b51b4e740f Merge pull request #10639 from caseydavenport/master
Allow specification of a network plugins directory when starting kubelet
2015-07-24 11:09:11 -07:00
Vish Kannan 2a5a6b99cb Merge pull request #10635 from smarterclayton/cloud_provider_should_err
Cloud provider should return an error
2015-07-23 17:50:45 -07:00
Casey D aeb7dc6b30 Allow specification of network plugins directory when starting kubelet 2015-07-23 11:21:39 -07:00
Dawn Chen e810b229c0 Change kubelet flag --max-pods default value to 40 to match v1.0 roadmap. 2015-07-10 13:46:05 -07:00
Eric Paris cde68d294b Do not create subject alt dns names for kubelet self signed certs
PR #10643 Started adding the dns names for the kubernetes master to self
sign certs which were created. The kubelet uses this same code, and thus
the kubelet cert started saying it was valid for these name as well.
While hardless, the kubelet cert shouldn't claim to be these things. So
make the caller explicitly list both their ip and dns subject alt names.
2015-07-04 23:01:01 -04:00
Eric Paris 7a29af4d2c Add Subject Alt Names to self signed apiserver certs
A cert from GCE shows:
- IP Address:23.236.49.122
- IP Address:10.0.0.1
- DNS:kubernetes,
- DNS:kubernetes.default
- DNS:kubernetes.default.svc
- DNS:kubernetes.default.svc.cluster.local
- DNS:e2e-test-zml-master

A similarly configured self signed cert shows:
- IP Address:23.236.49.122
- IP Address:10.0.0.1
- DNS:kubernetes
- DNS:kubernetes.default
- DNS:kubernetes.default.svc

So we are missing the fqdn kubernetes.default.svc.cluster.local. The
apiserver does not even know the fqdn! it's defined entirely by the
kubelet! We also do not have the cluster name certificate. This may be
--cluster-name= argument to the apiserver but will take a bit more
research.
2015-07-01 17:05:17 -04:00
Clayton Coleman d8bb4552de Cloud provider should return an error
Not fatal - makes cloud provider useful in methods that
can return error.
2015-07-01 14:41:49 -04:00
Clayton Coleman 93b14b9ede Search the parent FS for the proper binaries 2015-06-26 14:48:22 -04:00
Dawn Chen 6ddfa512de Revert "Revert "Fix the race between configuring cbr0 and restarting static pods""
This reverts commit fd0a95dd12.
2015-06-24 11:10:10 -07:00
Piotr Szczesniak fd0a95dd12 Revert "Fix the race between configuring cbr0 and restarting static pods" 2015-06-24 09:56:49 +02:00
Brendan Burns 192ffdfb25 Fix the container bridge so that it can create cbr0
Fix the kubelet so that it tries to sync status, even if Docker is down
2015-06-22 23:18:01 -07:00
Clayton Coleman 8217495ee3 Kubelet event logging is classified as V(3)
Important, but not strictly required for normal operation V(2)
2015-06-18 19:21:14 -04:00
Justin Santa Barbara df87470ecf Allow cloud providers to return a node identifier different from the hostname 2015-06-18 12:40:05 -07:00
Justin Santa Barbara dee8d4b90b For kubelet, differentiate between the nodeName and the hostname
This will allow us to use a nodeName that is not the hostname,
for example on clouds where the hostname is not the natural identifier
for a node.
2015-06-18 12:40:01 -07:00
Satnam Singh e4f5529a2d Revert "Allow nodename to be != hostname, use AWS instance ID on AWS" 2015-06-18 11:27:55 -07:00
Justin Santa Barbara efaead81dc Allow cloud providers to return a node identifier different from the hostname 2015-06-17 00:40:43 -04:00
Justin Santa Barbara c28cdfbd43 For kubelet, differentiate between the nodeName and the hostname
This will allow us to use a nodeName that is not the hostname,
for example on clouds where the hostname is not the natural identifier
for a node.
2015-06-17 00:40:43 -04:00
Mike Danese 5896ac9e07 skip GetHostIP call on standalone mode kubelet to fix spammy log statement 2015-06-12 11:37:53 -07:00
Abhi Shah 52db576617 Merge pull request #8882 from mesosphere/upstream_k8sm
Upstream Kubernetes-Mesos framework
2015-06-12 06:36:20 -07:00
Abhi Shah 0f4f2eb05a Merge pull request #9617 from davidopp/master
Add a warning that setting --port flag to Kubelet breaks "kubectl log…
2015-06-11 10:18:41 -07:00
David Oppenheimer b83a32955b Add a warning that setting --port flag to Kubelet breaks "kubectl logs." Temporary
fix for #9325.
2015-06-10 17:24:49 -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
Abhi Shah 0fbd4900d1 Merge pull request #9423 from mesosphere/create-api-server-client
refactor createAPIServerClient for easier integration with 3rd party …
2015-06-10 12:54:17 -07:00
James DeFelice f54eeeb8d6 refactor createAPIServerClient for easier integration with 3rd party kubelet extensions, e.g. kubernetes-mesos 2015-06-10 02:13:58 +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
James DeFelice b3c8f71aca refactor tls init for reuse 2015-06-05 11:45:40 +00:00
Brian Grant f72fa67924 Revert "Use Node IP Address instead of Node.Name in minion.ResourceLocation." 2015-06-03 18:19:22 -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
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 9a2630ac6e Make system container name configurable. 2015-05-26 20:49:55 -07:00
Dawn Chen 677a4aa1a7 Merge pull request #8164 from cjcullen/cloudprovider
Route creation reconciler loop.
2015-05-22 12:27:50 -07:00
Dawn Chen 3c38abe6b0 Merge pull request #8545 from dchen1107/cleanup
Change the default value of maximum-dead-containers-per-container to 2
2015-05-21 09:26:14 -07: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
Dawn Chen d46bb117af Change the default value of maximum-dead-containers-per-container to 2 2015-05-19 17:30:16 -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
David Oppenheimer 44b1e1ca0c Fix stylistic isues with #5547. Closes #4910. 2015-05-18 23:32:06 -07:00
Victor Marmol a7341cfb77 Merge pull request #8386 from smarterclayton/make_kubelet_consumable
Make it easier to reuse kubelet server code
2015-05-18 11:26:55 -07:00
Clayton Coleman dc0e3dd0a4 Make it easier to reuse kubelet server code
Ensure that RunKubelet() returns errors consistently,
and make info output match Kube conventions.

Allows OpenShift to more easily reuse the Kubelet.
2015-05-18 13:38:23 -04: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
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 2aaa4e08eb Revert "Change default CgroupRoot to /." 2015-05-13 15:50:23 -07:00
Robert Bailey c47b9178b4 Replace the auth config file with a kubeconfig file when
starting the kubelet on GCE.
2015-05-13 01:03:28 -07:00
CJ Cullen 31ea7d1295 Put cbr0-modifying stuff behind a flag. Address some other comments. 2015-05-12 23:00:28 -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
Rohit Jnagal fab980598a Merge pull request #8122 from vmarmol/docker-container
Run Docker Daemon in a Resource-only Container
2015-05-12 13:16:05 -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
Victor Marmol 8d304b7d1e Change default CgroupRoot to /.
This will make all Docker containers to be top-level containers. This
will more equally share the CPU under cases of contention.
2015-05-12 08:04:20 -07:00
deads2k 6498fc1fda remove cmd respect for auth-path 2015-05-08 16:33:33 -04: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
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 22297d316a Add rkt runtime to Kubelet init 2015-05-05 10:55:21 -07:00
Paul Morie 553265ce0c Add containerized option to kubelet binary 2015-05-05 13:10:06 -04:00
Victor Marmol 27dea5f400 Revert "Add containerized option to kubelet binary" 2015-05-04 16:34:22 -07:00
Paul Morie ddbf9f7a28 Add containerized option to kubelet binary 2015-05-04 18:59:52 -04:00
Paul Morie b538642464 Inject mounter into volume plugins 2015-05-04 11:28:57 -04:00
Daniel Smith 4a6ab7fd36 Merge pull request #7597 from eparis/copyright
Use generic copyright holder name in license boilerplate
2015-05-01 17:01:39 -07:00
Eric Paris 6b3a6e6b98 Make copyright ownership statement generic
Instead of saying "Google Inc." (which is not always correct) say "The
Kubernetes Authors", which is generic.
2015-05-01 17:49:56 -04:00
Victor Marmol d9d61c3511 Kubelet: Add container runtime option. 2015-05-01 14:26:54 -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
Tim Hockin 0c611370e0 Merge pull request #7281 from thockin/flag-word-separators
Make flags accept - or _ between words
2015-04-27 18:11:58 -07:00
Tim Hockin a3d45fada8 Change flags to use dashes in help 2015-04-27 15:11:03 -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
Satnam Singh 2444c1f943 Propagate pod and container name for log files 2015-04-22 15:08:51 -07:00
Kenjiro Nakayama 5e2e59e728 Add more help description to cert_dir flag 2015-04-20 00:35:56 +09:00
Robert Bailey f3dd053a08 Merge pull request #6952 from mikedanese/kubelet-profiling
add enable_profiling option to kubelet healthz port
2015-04-17 07:42:35 -07:00
Mike Danese 7b13870b32 add profiling to kubelet 2015-04-16 23:11:40 -07:00
Robert Bailey 8aff238c5f Remove an unused function in the kubelet code. 2015-04-16 15:38:12 -07:00
Victor Marmol fb3c351fe1 Run Kubelet on "/kubelet" container. 2015-04-14 10:29:05 -07:00
Fabio Yeon e99141de0d Merge pull request #6729 from smarterclayton/chaosclient
Add a new Chaos transport that can simulate network failure and add it to the kubelet
2015-04-13 16:06:53 -07:00
Clayton Coleman ca335d7be9 Add support for chaos to Kubelet and hack/local-up-cluster.sh 2015-04-13 18:21:20 -04:00
Xiang Li cea38a2f4e pkg/kubelet: kill a TODO in util.go
Move kubelet.CapabilitiesSetup to capabilities.Setup
2015-04-11 10:55:39 -07:00
Yifan Gu b868f421e0 kubelet: Move pod infra container image setting to dockertools. 2015-04-09 09:53:07 -07:00
Wojciech Tyczynski 37ea722b7b Set NodeStatusUpdateFrequency 2015-04-09 10:44:48 +02:00
Vishnu Kannan 2b5cad6acf Improve kubelet logging around startup. This might help detect any lockup issues during startup. 2015-04-08 21:02:15 +00:00
David Oppenheimer d8aa57872a Change default Kubelet NodeStatusUpdateFrequency from 2s to 10s. 2015-04-07 12:36:09 -07:00
gmarek 321a81047c Move NodeController constants to flags 2015-04-07 12:33:03 +02:00
James DeFelice d194af6b4f allow for more easily customized kubelet creation and initialization 2015-04-06 18:51:42 +00:00
Robert Bailey 4488ff95a2 Create an insecure (http) read-only port on the kubelet so that
heapster can collect metrics. Update the heapster config to
point to the non-secured port.
2015-04-02 10:45:49 -07:00
Robert Bailey f15e34a1bf Revert "Merge pull request #6309 from GoogleCloudPlatform/revert-6243-kubelet-ssl"
This reverts commit 96a0a0d618, reversing
changes made to 2af9b54147.
2015-04-02 10:44:37 -07:00
Dawn Chen ab1a8b1e7c Merge pull request #6298 from roberthbailey/kubelet-config
Remove salt configuration that matches the default settings in the Kubelet.
2015-04-01 14:31:31 -07:00
Robert Bailey 32a1c052dc Revert "Configure the kubelet to use HTTPS" 2015-04-01 13:59:31 -07:00
Robert Bailey 40ebed845f Remove salt configuration that matches the default settings in
the Kubelet.
2015-04-01 12:13:40 -07:00
Robert Bailey dd9ec46cc0 Fix test-cmd to work with the kubelet listening on HTTPS. 2015-04-01 09:09:29 -07:00
Robert Bailey d0f48b68d8 Configure the Kubelet to listen on HTTPS. If no certificates are
provided on the command line, generate self-signed certs.
2015-04-01 09:09:29 -07:00
Daniel Smith acd67ebea0 Merge pull request #5535 from saad-ali/fix5327
Make each new instance of kubelet generate a new event channel
2015-03-30 17:05:27 -07:00
saadali e0f71cb21f Make each new instance of kubelet generate a new event channel (instead of reusing existing). 2015-03-30 14:22:16 -07:00
Robert Bailey bc8af553a3 Configure the kubelet to bind a simple healthz server to a localhost
port for monitoring by monit. This is in preparation for the standard
kubelet port to switch to SSL only (and eventually to only accepting
connections on the SSL port that present a proper client SSL cert).

Also standardize the formatting of the monit config files a bit.
2015-03-30 14:20:30 -07:00
Victor Marmol cf7e2756b5 Add HostNetworkSources capability to limit use of HostNetwork. 2015-03-25 11:23:06 -07:00
Sreekanth Pothanis 1c06cde4c4 added cloud provider flag to kubelet
This is to fix issue #5667
2015-03-24 19:32:50 -07:00
Deyuan Deng cf548765c9 Change kubelet update frequency to 2s, and make it a constant. 2015-03-24 14:23:48 -04:00
Filip Grzadkowski 632ca506ce * Update pod status only when it changes.
* Refactor syncing logic into a separate struct
2015-03-24 16:41:00 +01:00
Clayton Coleman d020ca00b8 Pass hostname to all kubelet config sources instead of os.Hostname()
Make applyDefaults be tied to the current config source.
2015-03-23 15:58:45 -04:00
Clayton Coleman bd12cfea69 Integration tests should do a faster status sync loop 2015-03-23 14:48:28 -04:00
Clayton Coleman 90beaa3d61 Set non-zero default HTTP/File check intervals to avoid hotloop
cmd/integration.go was hot-looping for both, but did not need to.
2015-03-23 00:47:39 -04:00
Tim Hockin bfadae77e0 Promote volume plugins, prep for persistent vols
Move pkg/kubelet/volume/... to pkg/volume/...
Some renames to make the soon-to-come persistent volumes work clearer.
2015-03-20 13:49:40 -07:00
CJ Cullen 7ddcecfd1c Revert "Revert "[WIP] southbound networking hooks in kubelet"" 2015-03-19 16:14:13 -07:00
Zach Loafman b5d1e538df Revert "[WIP] southbound networking hooks in kubelet" 2015-03-19 16:08:08 -07:00
Rajat Chopra 7857aa7751 kubelet networking plugin 2015-03-19 14:15:52 -07:00
Victor Marmol cda4b6c598 Spread out pod status updates to apiserver.
Lowers pod status interval to every 2m and spreads updates within that
time window.
2015-03-18 15:43:07 -07:00
Victor Marmol d78ecf820e Garbage collecting images in the Kubelet.
Integrated the imageManager into the Kubelet and applies the garbage
collection policy every 5 minutes. The default policy allows up to 90%
disk usage, after which images are garbage collected to bring limit back
down to 80%.

Fixes #157.
2015-03-17 17:56:02 -07:00