Commit Graph

336 Commits (12a677876634995b08aa728b193c232a255e729d)

Author SHA1 Message Date
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
Álex González fa39c2b032 Add flocker volume plugin
Flocker [1] is an open-source container data volume manager for
Dockerized applications.

This PR adds a volume plugin for Flocker.
The plugin interfaces the Flocker Control Service REST API [2] to
attachment attach the volume to the pod.

Each kubelet host should run Flocker agents (Container Agent and Dataset
Agent).

The kubelet will also require environment variables that contain the
host and port of the Flocker Control Service. (see Flocker architecture
[3] for more).

- `FLOCKER_CONTROL_SERVICE_HOST`
- `FLOCKER_CONTROL_SERVICE_PORT`

The contribution introduces a new 'flocker' volume type to the API with
fields:

- `datasetName`: which indicates the name of the dataset in Flocker
  added to metadata;
- `size`: a human-readable number that indicates the maximum size of the
  requested dataset.

Full documentation can be found docs/user-guide/volumes.md and examples
can be found at the examples/ folder

[1] https://clusterhq.com/flocker/introduction/
[2] https://docs.clusterhq.com/en/1.3.1/reference/api.html
[3] https://docs.clusterhq.com/en/1.3.1/concepts/architecture.html
2015-10-01 01:10:00 +01:00
Tim Hockin 5fbcb72241 Merge pull request #14525 from dcbw/cni
CNI network plugin
2015-09-29 21:13:26 -07: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
Rajat Chopra 01dd813ce3 CNI network plugin
Add an experimental network plugin implementation named "cni" that
uses the Container Networking Interface (CNI) specification for
configuring networking for pods.

https://github.com/appc/cni/blob/master/SPEC.md
2015-09-25 22:30:37 -05:00
Brian Grant bd3a3f1443 Revert "cni network plugin" 2015-09-24 23:24:21 -07:00
Brian Grant 17ecefe9f7 Merge pull request #13766 from rajatchopra/cni
cni network plugin
2015-09-24 22:42:31 -07:00
Dawn Chen 38583307ca flag controlled RLIMIT_NOFILE for kubelet. 2015-09-22 15:18:34 -07:00
Rajat Chopra 4dc7485d94 cni network plugin 2015-09-22 11:16:41 -07:00
k8s-merge-robot 843134885e Merge pull request #12470 from simon3z/add-host-ipc
Auto commit by PR queue bot
2015-09-21 09:15:01 -07:00
Huamin Chen ed9a1bbd3a support fibre channel volume
Signed-off-by: Huamin Chen <hchen@redhat.com>
2015-09-18 19:15:31 -04: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
k8s-merge-robot 80f2d89a79 Merge pull request #13087 from ZJU-SEL/specify-garbage-collection
Auto commit by PR queue bot
2015-09-02 17:08:54 -07:00
k8s-merge-robot e8cda9dc92 Merge pull request #13310 from markturansky/volume_config
Auto commit by PR queue bot
2015-09-02 14:05:30 -07:00
Brendan Burns 2df5010834 Merge branch 'sdminonne-container_sidecar' 2015-09-02 10:42:08 -07:00
Salvatore Dario Minonne f4dc0653aa adding downward api volume plugin 2015-09-01 22:23:03 +02:00
Huamin Chen fe559f2726 implement Ceph FS volume plugin and add to e2e volume test
Signed-off-by: Huamin Chen <hchen@redhat.com>
2015-09-01 14:05:17 -04:00
Brendan Burns 43e7c9b211 Merge pull request #13367 from spothanis/cinder
Cinder Volume Plugin
2015-09-01 10:05:15 -07:00
markturansky 68358fd308 Added VolumeConfig to volumes 2015-09-01 12:04:26 -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
Sreekanth Pothanis f5da6b34ce Cinder Volume Plugin 2015-08-30 19:56:27 -07:00
Prashanth B 05b205bab6 Revert "Volume Plugin for Cinder; Openstack Block Storage" 2015-08-28 10:56:24 -07:00
Prashanth B 8d0d54ffed Merge pull request #6689 from spothanis/cinder-vol-plugin
Volume Plugin for Cinder; Openstack Block Storage
2015-08-28 10:47:31 -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
Sreekanth Pothanis c841a20361 Cinder Volume Plugin 2015-08-25 15:13:56 -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
Bryan Stenson 9541414742 create cloudprovider "providers" package
move all providers into new package
    update all references to old package path
2015-08-11 22:36:51 -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