Commit Graph

648 Commits (cecd663c21d139a3a5a15b43a8dda8de26180246)

Author SHA1 Message Date
deads2k 49ebc2c2ae remove unnecessary startcontroller options 2016-11-28 15:02:21 -05:00
deads2k 6080620553 simplify enabled resource checks 2016-11-28 15:02:21 -05:00
deads2k d973158a4e make controller manager use specified stop channel 2016-11-28 15:02:21 -05:00
Clayton Coleman 35a6bfbcee
generated: refactor 2016-11-23 22:30:47 -06:00
Chao Xu bcc783c594 run hack/update-all.sh 2016-11-23 15:53:09 -08:00
Chao Xu 7eeb71f698 cmd/kube-controller-manager 2016-11-23 15:53:09 -08:00
Brendan Burns ef6529bf2f make groupVersionResource listing dynamic when third party resources are
enabled.
2016-11-20 20:48:57 -08:00
Miao Luo b22ccc6780 Support persistent volume on Photon Controller platform
1. Enable Photon Controller as cloud provider
2. Support Photon persistent disk as volume source/persistent volume
source
2016-11-08 09:36:16 -08:00
Solly Ross 2c66d47786 HPA: Consider unready pods and missing metrics
Currently, the HPA considers unready pods the same as ready pods when
looking at their CPU and custom metric usage.  However, pods frequently
use extra CPU during initialization, so we want to consider them
separately.

This commit causes the HPA to consider unready pods as having 0 CPU
usage when scaling up, and ignores them when scaling down.  If, when
scaling up, factoring the unready pods as having 0 CPU would cause a
downscale instead, we simply choose not to scale.  Otherwise, we simply
scale up at the reduced amount caculated by factoring the pods in at
zero CPU usage.

The effect is that unready pods cause the autoscaler to be a bit more
conservative -- large increases in CPU usage can still cause scales,
even with unready pods in the mix, but will not cause the scale factors
to be as large, in anticipation of the new pods later becoming ready and
handling load.

Similarly, if there are pods for which no metrics have been retrieved,
these pods are treated as having 100% of the requested metric when
scaling down, and 0% when scaling up.  As above, this cannot change the
direction of the scale.

This commit also changes the HPA to ignore superfluous metrics -- as
long as metrics for all ready pods are present, the HPA we make scaling
decisions.  Currently, this only works for CPU.  For custom metrics, we
cannot identify which metrics go to which pods if we get superfluous
metrics, so we abort the scale.
2016-11-08 00:59:23 -05:00
Maciej Szulik 41d88d30dd Rename ScheduledJob to CronJob 2016-11-07 10:14:12 +01:00
Kubernetes Submit Queue 6ee92d9311 Merge pull request #36215 from piosz/hpa-controller
Automatic merge from submit-queue

Enable HPA controller based on autoscaling/v1 api group

ref #29778

``` release-note
Enable HPA controller based on autoscaling/v1 api group.
```
2016-11-06 07:18:15 -08:00
Kubernetes Submit Queue c02a9c6aad Merge pull request #36080 from ncdc/lister-gen
Automatic merge from submit-queue

lister-gen updates

- Remove "zz_generated." prefix from generated lister file names
- Add support for expansion interfaces
- Switch to new generated JobLister

@deads2k @liggitt @sttts @mikedanese @caesarxuchao for the lister-gen changes
@soltysh @deads2k for the informer / job controller changes
2016-11-06 06:05:23 -08:00
deads2k ebf796a649 make using service account credentials from controllers optional 2016-11-04 14:17:34 -04:00
Piotr Szczesniak 14eee1d7f0 Enable HPA controller based on autoscaling/v1 api group 2016-11-04 10:02:34 +01:00
Andy Goldstein 8c923faf74 Switch to JobLister 2016-11-03 20:41:40 -04:00
Marcin 26acced6d8 Add policy api version v1beta1 and disable v1alpha1 2016-11-03 13:26:27 +01:00
Janet Kuo c15b9470f5 Replace apps/v1alpha1 with apps/v1beta1 and manually remove generated apps/v1alpha1 files
Manually remove generated apps/v1alpha1 types, protobuf, and api-reference doc files
Manually remove apps/v1alpha1 folder from 1.5 generated client
2016-11-02 15:16:23 -07:00
Kubernetes Submit Queue 3d33b45e43 Merge pull request #30091 from rootfs/azure-storage
Automatic merge from submit-queue

support Azure disk dynamic provisioning

azure disk dynamic provisioning

A screen shot 

``` console
$ kubectl create -f examples/experimental/persistent-volume-provisioning/azure-dd.yaml
storageclass "slow" created
$ kubectl create -f examples/experimental/persistent-volume-provisioning/claim1.json
persistentvolumeclaim "claim1" created
$ kubectl describe pvc
Name:       claim1
Namespace:  default
Status:     Bound
Volume:     pvc-de7150d1-6a37-11e6-aec9-000d3a12e034
Labels:     <none>
Capacity:   3Gi
Access Modes:   RWO
$ kubectl create -f pod.yaml
replicationcontroller "nfs-server" created
$ kubectl describe pod
Name:       nfs-server-b9w6x
Namespace:  default
Node:       rootfs-dev/172.24.0.4
Start Time: Wed, 24 Aug 2016 19:46:21 +0000
Labels:     role=nfs-server
Status:     Running
IP:     172.17.0.2
Controllers:    ReplicationController/nfs-server
Containers:
  nfs-server:
    Container ID:   docker://be6f8c0e26dc896d4c53ef0d21c9414982f0b39a10facd6b93a255f9e1c3806c
    Image:      nginx
    Image ID:       docker://bfdd4ced794ed276a28cf56b233ea58dec544e9ca329d796cf30b8bcf6d39b3f
    Port:       
    State:      Running
      Started:      Wed, 24 Aug 2016 19:49:19 +0000
    Ready:      True
    Restart Count:  0
    Volume Mounts:
      /exports from mypvc (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-9o0fj (ro)
    Environment Variables:  <none>
Conditions:
  Type      Status
  Initialized   True 
  Ready     True 
  PodScheduled  True 
Volumes:
  mypvc:
    Type:   PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
    ClaimName:  claim1
    ReadOnly:   false
  default-token-9o0fj:
    Type:   Secret (a volume populated by a Secret)
    SecretName: default-token-9o0fj
QoS Class:  BestEffort
Tolerations:    <none>
Events:
  FirstSeen LastSeen    Count   From            SubobjectPath           Type        Reason      Message
  --------- --------    -----   ----            -------------           --------    ------      -------
  11m       11m     1   {default-scheduler }                    Normal      Scheduled   Successfully assigned nfs-server-b9w6x to rootfs-dev
  9m        9m      1   {kubelet rootfs-dev}                    Warning     FailedMount Unable to mount volumes for pod "nfs-server-b9w6x_default(6eb7fd98-6a33-11e6-aec9-000d3a12e034)": timeout expired waiting for volumes to attach/mount for pod "nfs-server-b9w6x"/"default". list of unattached/unmounted volumes=[mypvc]
  9m        9m      1   {kubelet rootfs-dev}                    Warning     FailedSync  Error syncing pod, skipping: timeout expired waiting for volumes to attach/mount for pod "nfs-server-b9w6x"/"default". list of unattached/unmounted volumes=[mypvc]
  8m        8m      1   {kubelet rootfs-dev}    spec.containers{nfs-server} Normal      Pulling     pulling image "nginx"
  8m        8m      1   {kubelet rootfs-dev}    spec.containers{nfs-server} Normal      Pulled      Successfully pulled image "nginx"
  8m        8m      1   {kubelet rootfs-dev}    spec.containers{nfs-server} Normal      Created     Created container with docker id be6f8c0e26dc
  8m        8m      1   {kubelet rootfs-dev}    spec.containers{nfs-server} Normal      Started     Started container with docker id be6f8c0e26dc

```

@colemickens @brendandburns
2016-11-01 17:27:14 -07:00
derekwaynecarr 1bcb057636 quota controller uses informers if available for pod calculation 2016-10-31 11:38:22 -04:00
Chao Xu 850729bfaf include multiple versions in clientset
update client-gen to use the term "internalversion" rather than "unversioned";
leave internal one unqualified;
cleanup client-gen
2016-10-29 13:30:47 -07:00
Kubernetes Submit Queue 620788a795 Merge pull request #35230 from deads2k/controller-12-sa-controller
Automatic merge from submit-queue

convert SA controller to shared informers

convert the SA controller to shared informer + workqueue.

I think one of @derekwaynecarr @ncdc or @liggitt
2016-10-29 10:09:46 -07:00
Clayton Coleman ca2f1b87ad
Replace negotiation with a new method that can extract info
Alter how runtime.SerializeInfo is represented to simplify negotiation
and reduce the need to allocate during negotiation. Simplify the dynamic
client's logic around negotiating type. Add more tests for media type
handling where necessary.
2016-10-28 11:30:11 -04:00
Huamin Chen 1d52719465 azure disk volume: support storage class and dynamic provisioning
Signed-off-by: Huamin Chen <hchen@redhat.com>
2016-10-28 13:31:47 +00:00
Janet Kuo 10aee82ae3 Rename PetSet API to StatefulSet 2016-10-27 17:25:10 -07:00
deads2k df4ed892c4 convert SA controller to shared informers 2016-10-27 15:44:46 -04:00
Anirudh b5d9f2f336 Always run the podGC controller. 2016-10-24 17:15:39 -07:00
Mike Danese 3b6a067afc autogenerated 2016-10-21 17:32:32 -07:00
deads2k b471398f1f convert replica set controller to shared informer 2016-10-18 08:13:37 -04:00
deads2k aa5cbb704f convert deployment controller to shared informers 2016-10-07 15:06:57 -04:00
deads2k 8ea2acc6a3 use service accounts as clients for controllers 2016-10-05 13:15:16 -04:00
Kubernetes Submit Queue bd97c4b7c8 Merge pull request #33879 from luxas/remove_refs_to_mesos
Automatic merge from submit-queue

Remove old references to contrib/mesos

@deads2k @k82cn @derekwaynecarr
2016-10-01 18:20:10 -07:00
Kubernetes Submit Queue 30ca344361 Merge pull request #33565 from liggitt/ecdsa
Automatic merge from submit-queue

Add ECDSA support for service account tokens

Fixes #28180

```release-note
ECDSA keys can now be used for signing and verifying service account tokens.
```
2016-10-01 08:42:53 -07:00
Lucas Käldström 0bba65ca1a Remove old references to contrib/mesos 2016-10-01 16:46:48 +03:00
Kubernetes Submit Queue 901e3e30b6 Merge pull request #33387 from timothysc/resource_lock_abstraction
Automatic merge from submit-queue

Abstraction of endpoints in leaderelection code

**Problem Statement**:
Currently the Leader Election code is hard coded against the endpoints api.  This causes performance issues on large scale clusters due to incessant iptables refreshes, see: https://github.com/kubernetes/kubernetes/issues/26637 

The goal of this PR is to: 

- Abstract Endpoints out of the leader election code
- Fix a known bug in the event recording 

fixes #18386

**Special notes for your reviewer**:
This is a 1st pass at abstracting the details of endpoints out into an interface.  Any suggestions around how we we want to refactor this interface is welcome and could be addressed in either this PR or follow on PR. 

/cc @ncdc @wojtek-t @rrati
2016-10-01 05:19:29 -07:00
Timothy St. Clair 4a9f72b59f Abstraction of endpoints in leaderelection code 2016-09-29 23:42:00 -05:00
deads2k 0961784a9b switch node controller to shared informers 2016-09-29 09:16:41 -04:00
gmarek cb0a13c1e5 Move orphaned Pod deletion logic to PodGC 2016-09-28 13:58:31 +02:00
Kubernetes Submit Queue df064881d2 Merge pull request #31005 from simonswine/feature-flocker-dyn-provisioning
Automatic merge from submit-queue

Dynamic provisioning for flocker volume plugin

Refactor flocker volume plugin
* [x] Support provisioning beta (#29006)
* [x] Support deletion
* [x] Use bind mounts instead of /flocker in containers

* [x] support ownership management or SELinux relabeling.
* [x] adds volume specification via datasetUUID (this is guranted to be unique)

I based my refactor work to replicate pretty much GCE-PD behaviour 

**Related issues**: #29006 #26908

@jsafrane @mattbates @wallrj @wallnerryan
2016-09-28 01:46:43 -07:00
Kubernetes Submit Queue b2c175c758 Merge pull request #33474 from wojtek-t/user_agent_for_master_election
Automatic merge from submit-queue

Set UserAgent in LeaderElection clients.

Ref https://github.com/kubernetes/kubernetes/issues/33259

@timothysc - FYI
2016-09-27 22:58:08 -07:00
Jordan Liggitt 6333d8fd86
Add ECDSA support 2016-09-27 12:44:54 -04:00
Wojciech Tyczynski cbcce2c90f Set UserAgent in LeaderElection clients. 2016-09-27 15:22:40 +02:00
Christian Simon cd0897801b Refactor flocker volume plugin
* Support provisioning
* Support deletion
* Use bind mounts instead of /flocker in containers
* support ownership management or SELinux relabeling.
2016-09-27 13:19:45 +00:00
Jan Safranek a54c9e2887 Refactor volume controller parameters into a structure
persistentvolumecontroller.NewPersistentVolumeController has 11 arguments now,
put them into a structure.

Also, rename NewPersistentVolumeController to NewController, persistentvolume
is already name of the package.

Fixes #30219
2016-09-26 14:15:25 +02:00
Clayton Coleman 97c35fcc67
Allow garbage collection to work against different API prefixes
The GC needs to build clients based only on Resource or Kind. Hoist the
restmapper out of the controller and the clientpool, support a new
ClientForGroupVersionKind and ClientForGroupVersionResource, and use the
appropriate one in both places.
2016-09-22 15:00:58 -04:00
Kubernetes Submit Queue 4ab5a76338 Merge pull request #33103 from deads2k/controller-03-kill-non-generatedclient
Automatic merge from submit-queue

switch controller manager to generated clients

Switches the controller manager to generated clients.

@ncdc ptal
2016-09-22 11:37:01 -07:00
Kubernetes Submit Queue 5af04d1dd1 Merge pull request #32876 from errordeveloper/more-cert-utils
Automatic merge from submit-queue

Refactor cert utils into one pkg, add funcs from bootkube for kubeadm to use

**What this PR does / why we need it**:

We have ended-up with rather incomplete and fragmented collection of utils for handling certificates. It may be worse to consider using `cfssl` for doing all of these things, but for now there is some functionality that we need in `kubeadm` that we can borrow from bootkube. It makes sense to move the utils from bookube into core, as discussed in #31221.

**Special notes for your reviewer**: I've taken the opportunity to review names of existing funcs and tried to make some improvements in that area (with help from @peterbourgon).

**Release note**:

```release-note
NONE
```
2016-09-22 01:29:46 -07:00
deads2k b83a317003 switch controller manager to generated clientset 2016-09-20 12:53:47 -04:00
Kubernetes Submit Queue aa0e8b9cc1 Merge pull request #31434 from johscheuer/quobyte-dynamic-prov
Automatic merge from submit-queue

Support Quobyte as StorageClass

This PR allows Users to use Quobyte as StorageClass for dynamic volume provisioning and implements the Provisioner/Deleter Interface. 

@quolix @kubernetes/sig-storage @rootfs
2016-09-19 02:39:41 -07:00
Ilya Dmitrichenko 386fae4592
Refactor utils that deal with certs
- merge `pkg/util/{crypto,certificates}`
- add funcs from `github.com/kubernetes-incubator/bootkube/pkg/tlsutil`
- ensure naming of funcs is fairly consistent
2016-09-19 09:03:42 +01:00
Kubernetes Submit Queue 2ca15b9f76 Merge pull request #32815 from deads2k/controller-02-daemonset-informer
Automatic merge from submit-queue

convert daemonset controller to shared informers

Convert the daemonset controller completely to `SharedInformers` for its list/watch resources.

@kubernetes/rh-cluster-infra @ncdc
2016-09-16 09:39:57 -07:00
deads2k 234d68be83 convert daemonset controller to shared informers 2016-09-16 10:40:46 -04:00
Kubernetes Submit Queue e8fbcb1669 Merge pull request #32654 from soltysh/sj_clientset
Automatic merge from submit-queue

Switch ScheduledJob controller to use clientset

**What this PR does / why we need it**:
This is part of #25442. I've applied here the same fix I've applied in the manual client in #29187, see the 1st commit for that (@caesarxuchao we've talked about it in #29856).

@deads2k as promised 
@janetkuo ptal
2016-09-16 05:03:57 -07:00
Johannes Scheuermann 0b7cb5f2ae Inital Quobyte dynamic provision 2016-09-16 13:26:18 +02:00
Mike Danese a765d59932 move informer and controller to pkg/client/cache
Signed-off-by: Mike Danese <mikedanese@google.com>
2016-09-15 12:50:08 -07:00
Kubernetes Submit Queue 843d7cd24c Merge pull request #32576 from wongma7/revert-30825-pv-controller-informer
Automatic merge from submit-queue

Revert "Use PV shared informer in PV controller"

Fixes #32497 

Reverts kubernetes/kubernetes#30825
2016-09-15 04:37:29 -07:00
gmarek 4f0129b023 Create a flag for route reconciliatio and deprecate unused node-sync-period one 2016-09-14 11:49:50 +02:00
Maciej Szulik 7a34347f7f Move ScheduledJob controller to use generated clientset 2016-09-14 11:27:29 +02:00
Matthew Wong 25e9b9dcf9 Revert "Use PV shared informer in PV controller" 2016-09-13 10:12:34 -04:00
Kubernetes Submit Queue 17f82069bb Merge pull request #30825 from wongma7/pv-controller-informer
Automatic merge from submit-queue

Use PV shared informer in PV controller

Use the PV shared informer, addressing (partially) https://github.com/kubernetes/kubernetes/issues/26247 . Using the PVC shared informer is not so simple because sometimes the controller wants to `Requeue` and...
2016-09-10 12:40:30 -07:00
Kubernetes Submit Queue 34141a794d Merge pull request #31251 from rootfs/rbd-prov3
Automatic merge from submit-queue

support storage class in Ceph RBD volume

replace WIP PR #30959, using PV annotation idea from @jsafrane 

@kubernetes/sig-storage @johscheuer @elsonrodriguez
2016-09-10 07:03:14 -07:00
Jordan Liggitt a869de61bd
Namespace certificates API group 2016-09-01 14:39:06 -04:00
gmarek ea2d19f5d7 Remove unused argument to NodeController.Run 2016-08-30 14:24:56 +02:00
Matthew Wong 1d6dbdd9d2 Use PV shared informer in PV controller 2016-08-25 21:55:23 -04:00
Jeff Lowdermilk 991b07e60d Add a feature gate for alpha dynamic volume provisioning
Enabled by default to avoid breaking people, since this was
turned on in 1.3.
2016-08-24 13:02:42 -07:00
Huamin Chen 5445ccf4cb support storage class in Ceph RBD volume
Signed-off-by: Huamin Chen <hchen@redhat.com>
2016-08-23 11:05:51 -04:00
Huamin Chen dea4b0226d support Azure data disk volume
Signed-off-by: Huamin Chen <hchen@redhat.com>
2016-08-23 13:23:07 +00:00
Kubernetes Submit Queue c5d56ea356 Merge pull request #30535 from abrarshivani/vsphere_attach_detach_interface
Automatic merge from submit-queue

Implements Attacher Plugin Interface for vSphere

This PR does the following,

Fixes #29028 (vsphere volume should implement attacher interface):  Implements Attacher Plugin Interface for vSphere. 
See file: 
pkg/volume/vsphere_volume/vsphere_volume.go. - Removed attach and detach calls from SetupAt and TearDownAt.
pkg/volume/vsphere_volume/attacher.go. - Implements Attacher & Detacher Plugin Interface for vSphere. (Ref :- GCE_PD & AWS attacher.go)
pkg/cloudproviders/provider/vsphere.go - Added DiskIsAttach method.

The vSphere plugin code needs clean up. (ex: The code for getting vSphere instance is repeated in file pkg/cloudprovider/providers/vsphere.go). I will fix this in next PR.
2016-08-23 05:13:12 -07:00
Mike Danese 9f379df76b add an option to controller-manager to auto approve all CSRs 2016-08-22 11:46:01 -07:00
Jordan Liggitt 387f9ea952
Fix data race in PVC Run/Stop methods 2016-08-21 15:15:33 -04:00
Kubernetes Submit Queue ad6eed40ec Merge pull request #30888 from humblec/mypr/29006
Automatic merge from submit-queue

GlusterFS dynamic provisioner and deleter interface based on storageclass claims

This PR depends on PR#29006
2016-08-21 01:50:16 -07:00
Kubernetes Submit Queue c8c18b1d5c Merge pull request #30480 from caesarxuchao/gc-beta
Automatic merge from submit-queue

Enable the garbage collector by default

Turning GC on by default.

Memory usage of GC is back to normal after #30943. The CPU usage is a little higher than the cap in scalability test (1.11 core vs. 1 core). This PR adjusted the default GC worker to 20 to see if that helps CPU usage.

@kubernetes/sig-api-machinery  @wojtek-t @lavalamp
2016-08-19 22:57:54 -07:00
Chao Xu f7a1ef8189 enable gc by default 2016-08-19 10:42:05 -07:00
Humble Chirammal 836ac6e403 GlusterFS dynamic provisioner and deleter interface based on StorageClass claims
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2016-08-19 23:03:32 +05:30
Jeff Lowdermilk 51198f59da Add --feature-gates to kube-system components
apiserver,scheduler,controller-manager,proxy,kubelet all get
flag. Using one variable to plumb through config via salt/init
scripts for GCE and GKE
2016-08-19 09:07:43 -07:00
Kubernetes Submit Queue 6ce405c6ee Merge pull request #27778 from screeley44/k8-vol-executor
Automatic merge from submit-queue

Add Events for operation_executor to show status of mounts, failed/successful to show in describe events

Fixes #27590 
@saad-ali @pmorie @erinboyd

After talking with @pmorie last week about the above issue, I decided to poke around and see if I could remedy.  The refactoring broke my previous UXP merged PR's that correctly showed failed mount errors in the describe events.  However, Not sure I implemented correctly, but it tested out and seems to be working, let me know what I missed or if this is not the correct approach.

```
Events:
  FirstSeen	LastSeen	Count	From			SubobjectPath	Type		Reason		Message
  ---------	--------	-----	----			-------------	--------	------		-------
  2m		2m		1	{default-scheduler }			Normal		Scheduled	Successfully assigned nfs-bb-pod1 to 127.0.0.1
  44s		44s		1	{kubelet 127.0.0.1}			Warning		FailedMount	Unable to mount volumes for pod "nfs-bb-pod1_default(a94f64f1-37c9-11e6-9aa5-52540073d346)": timeout expired waiting for volumes to attach/mount for pod "nfs-bb-pod1"/"default". list of unattached/unmounted volumes=[nfsvol]
  44s		44s		1	{kubelet 127.0.0.1}			Warning		FailedSync	Error syncing pod, skipping: timeout expired waiting for volumes to attach/mount for pod "nfs-bb-pod1"/"default". list of unattached/unmounted volumes=[nfsvol]
  38s		38s		1	{kubelet }				Warning		FailedMount	Unable to mount volumes for pod "a94f64f1-37c9-11e6-9aa5-52540073d346": Mount failed: exit status 32
Mounting arguments: nfs1.rhs:/opt/data99 /var/lib/kubelet/pods/a94f64f1-37c9-11e6-9aa5-52540073d346/volumes/kubernetes.io~nfs/nfsvol nfs []
Output: mount.nfs: Connection timed out

Resolution hint: Check and make sure the NFS Server exists (ensure that correct IPAddress/Hostname was given) and is available/reachable.
Also make sure firewall ports are open on both client and NFS Server (2049 v4 and 2049, 20048 and 111 for v3).
Use commands telnet <nfs server> <port> and showmount <nfs server> to help test connectivity.
```
2016-08-19 08:27:48 -07:00
Abrar Shivani e89ad04422 Implements Attacher Plugin Interface for vSphere 2016-08-19 00:28:55 -07:00
Chao Xu c9b28416b7 increase GC concurrency to 100 2016-08-18 14:04:34 -07:00
Jan Safranek bb5d562f37 Restore alpha behavior 2016-08-18 10:36:50 +02:00
Jan Safranek 6e4d95f646 Dynamic provisioning V2 controller, provisioners, docs and tests. 2016-08-18 10:36:49 +02:00
Scott Creeley 782d7d9815 Add Events for operation_executor to show status of mounts, failed or successful 2016-08-17 09:53:47 -04:00
gmarek 4cf698ef04 Expose flags for new NodeEviction logic in NodeController 2016-08-17 10:43:24 +02:00
Matt Liggett d60ba3c6e2 Implement DisruptionController.
Part of #12611
2016-08-16 15:20:41 -07:00
Janet Kuo e4269d490f Use unversioned client in scheduledjobs and set group version to batch/v2alpha1 2016-08-12 16:46:09 -07:00
Girish Kalele f64c052858 Revert "Scheduledjob e2e" 2016-08-12 16:12:19 -07:00
Janet Kuo fe53ec34cf Use unversioned client in scheduledjobs and set group version to batch/v2alpha1 2016-08-11 13:06:18 +02:00
Chao Xu 4d2350632c only store typeMeta and objectMeta in the gc store 2016-08-08 17:23:13 -07:00
Eric Tune 8675e014fb ScheduledJob controller 2016-08-05 13:34:50 -07:00
Kubernetes Submit Queue c41c3d4d14 Merge pull request #25189 from mfanjie/kube-service-controller-rewritten
Automatic merge from submit-queue

Rewrite service controller to apply best controller pattern

This PR is a long term solution for #21625:
We apply the same pattern like replication controller to service controller to avoid the potential process order messes in service controller, the change includes:
1. introduce informer controller to watch service changes from kube-apiserver, so that every changes on same service will be kept in serviceStore as the only element.
2. put the service name to be processed to working queue
3. when process service, always get info from serviceStore to ensure the info is up-to-date
4. keep the retry mechanism, sleep for certain interval and add it back to queue.
5. remote the logic of reading last service info from kube-apiserver before processing the LB info as we trust the info from serviceStore.

The UT has been passed, manual test passed after I hardcode the cloud provider as FakeCloud, however I am not able to boot a k8s cluster with any available cloudprovider, so e2e test is not done.

Submit this PR first for review and for triggering a e2e test.
2016-08-04 14:05:51 -07:00
Dominika Hodovska 305342c48d Use shared informer factory in controllers 2016-08-04 10:10:03 +02:00
Dominika Hodovska 816f6d32ca Collapse duplicate informer creation paths 2016-08-04 09:02:13 +02:00
mfanjie 5fa640490e rewrite serivce controller to apply the latest controller pattern 2016-08-04 09:28:55 +08:00
k8s-merge-robot 59836d6dbd Merge pull request #24841 from sjenning/shared-informer
Automatic merge from submit-queue

update node controller to use shared pod informer

continuing work from #24470 and #23575
2016-08-02 03:45:01 -07:00
k8s-merge-robot 444e34fc7e Merge pull request #29371 from ping035627/ping035627-patch-0722
Automatic merge from submit-queue

Print two errors to log

The PR add two error info to log.
2016-07-22 17:13:18 -07:00
k8s-merge-robot 73f1218398 Merge pull request #29370 from ping035627/ping035627-patch-0721-2
Automatic merge from submit-queue

add configz.InstallHandler in controllermanager.go

I think it should add configz.InstallHandler for Run function in controllermanager.go.
2016-07-22 17:13:14 -07:00
k8s-merge-robot 6fd685b54b Merge pull request #29207 from fgrzadkowski/ha_master_leader_elect
Automatic merge from submit-queue

Add default leader election for scheduler and controller manager.

#21124
2016-07-22 04:49:44 -07:00
k8s-merge-robot 60e59c9461 Merge pull request #29184 from wojtek-t/rs_controller_ref
Automatic merge from submit-queue

ReplicaSet controller can set/remove ControllerRef

This is mostly a copy from https://github.com/kubernetes/kubernetes/pull/27600
2016-07-22 04:18:00 -07:00
PingWang f759f3243a print two errors to log
Signed-off-by: PingWang <wang.ping5@zte.com.cn>

update for go vet

Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2016-07-22 09:47:52 +08:00
PingWang 2dae79c114 add configz.InstallHandler
Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2016-07-22 08:25:33 +08:00
k8s-merge-robot 8780b45a04 Merge pull request #29369 from ping035627/ping035627-patch-0721
Automatic merge from submit-queue

two optimization for StartControllers in controllermanager.go

The PR changed two places to optimise StartControllers function in controllermanager.go.
2016-07-21 14:51:13 -07:00
PingWang eb2f6934c6 two optimization for StartControllers
Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2016-07-21 18:31:28 +08:00
Wojciech Tyczynski 85de930a66 ReplicaSet controller can set/remove ControllerRef 2016-07-21 11:36:52 +02:00
Seth Jennings db6026c82a node controller use shared pod informer 2016-07-20 15:26:19 -05:00
Wojciech Tyczynski 2794cf538c Use sharedPodInformer in ReplicaSet controller 2016-07-20 12:25:26 +02:00
Filip Grzadkowski 69e9786383 Change defaults for leader election for scheduler and controller manager 2016-07-20 11:36:15 +02:00
George Tankersley 803c7ac299 certificates: implement certificates controller 2016-07-19 11:25:38 -07:00
Prashanth Balasubramanian 2f9516db30 List all nodes and occupy cidr map before starting allocations 2016-07-16 13:54:01 -07:00
Chao Xu 11a341de67 let RC manager utilize the GC 2016-07-14 19:59:31 -07:00
gmarek f6b1c316e9 Allow switching rate limiter inside RateLimitedQueue 2016-07-14 15:38:14 +02:00
k8s-merge-robot ae990defcf Merge pull request #26956 from joe2far/fix-typos
Automatic merge from submit-queue

Fixed several typos
2016-07-14 04:13:15 -07:00
k8s-merge-robot b50e66c66e Merge pull request #28340 from ZTE-PaaS/zhangke-patch-007
Automatic merge from submit-queue

controller-manager support number of garbage collector workers to be configurable

The number of garbage collector workers of controller-manager is a fixed value 5 now, make it configurable should more properly
2016-07-13 12:54:15 -07:00
joe2far 5ead89b5bb Fixed several typos 2016-07-13 15:06:24 +01:00
gmarek 5677a9845e Split NodeController rate limiters between zones 2016-07-13 14:09:19 +02:00
Ke Zhang d74010211a controller-manager support number of garbage collector workers to be configurable 2016-07-13 13:13:20 +08:00
saadali 0dd17fff22 Reorganize volume controllers and manager 2016-07-01 18:50:25 -07:00
David McMahon ef0c9f0c5b Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
Jordan Liggitt f45d9dc2f8 Convert service account token controller to use a work queue 2016-06-27 13:01:24 -04:00
k8s-merge-robot 601173c2fe Merge pull request #26916 from caesarxuchao/podgc
Automatic merge from submit-queue

rename the gc for terminated pods to "podgc"

to avoid name collision with the [generic garbage collector](https://github.com/kubernetes/kubernetes/blob/master/pkg/controller/garbagecollector/garbagecollector.go)
2016-06-25 12:24:07 -07:00
markturansky 16ec36c591 added toggle to disable dynamic provisioning 2016-06-20 01:15:23 -04:00
Marek Grabowski 90358531e4 Revert "Revert "Change default value of deleting-pods-burst to 1"" 2016-06-17 09:57:24 +02:00
Piotr Szczesniak 8d36ab9994 Revert "Change default value of deleting-pods-burst to 1" 2016-06-16 09:52:17 +02:00
gmarek aec5dfbd6d Change default value of deleting-pods-burst to 1 2016-06-15 11:22:58 +02:00
Chao Xu 91de14cf13 rename the gc for terminated pods to "podgc" 2016-06-07 22:10:34 -07:00
Jan Safranek 2aa9f1dd8f Reduce volume controller sync period 2016-05-30 09:59:31 +02:00
Chao Xu b3df629432 add gc and its enablement flag to kube-controller-manager 2016-05-28 14:12:33 -07:00
k8s-merge-robot a5222574d4 Merge pull request #25614 from justinsb/feature/flag-configure-cloud-routes
Automatic merge from submit-queue

kube-controller-manager: Add configure-cloud-routes option

This allows kube-controller-manager to allocate CIDRs to nodes (with
allocate-node-cidrs=true), but will not try to configure them on the
cloud provider, even if the cloud provider supports Routes.

The default is configure-cloud-routes=true, and it will only try to
configure routes if allocate-node-cidrs is also configured, so the
default behaviour is unchanged.

This is useful because on AWS the cloud provider configures routes by
setting up VPC routing table entries, but there is a limit of 50
entries.  So setting configure-cloud-routes on AWS would allow us to
continue to allocate node CIDRs as today, but replace the VPC
route-table mechanism with something not limited to 50 nodes.

We can't just turn off the cloud-provider entirely because it also
controls other things - node discovery, load balancer creation etc.

Fix #25602
2016-05-27 23:52:51 -07:00
Alex Robinson d577550dd0 Merge pull request #26054 from gmarek/flags
Make service-range flag in controller-manager optional
2016-05-27 14:26:15 -07:00
Justin Santa Barbara b754393630 kube-controller-manager: Add configure-cloud-routes option
This allows kube-controller-manager to allocate CIDRs to nodes (with
allocate-node-cidrs=true), but will not try to configure them on the
cloud provider, even if the cloud provider supports Routes.

The default is configure-cloud-routes=true, and it will only try to
configure routes if allocate-node-cidrs is also configured, so the
default behaviour is unchanged.

This is useful because on AWS the cloud provider configures routes by
setting up VPC routing table entries, but there is a limit of 50
entries.  So setting configure-cloud-routes on AWS would allow us to
continue to allocate node CIDRs as today, but replace the VPC
route-table mechanism with something not limited to 50 nodes.

We can't just turn off the cloud-provider entirely because it also
controls other things - node discovery, load balancer creation etc.

Fix #25602
2016-05-27 09:42:20 -04:00
saadali 92500a20d7 Attach detach controller business logic added
Split controller cache into actual and desired state of world.
Controller will only operate on volumes scheduled to nodes that
have the "volumes.kubernetes.io/controller-managed-attach" annotation.
2016-05-24 23:01:16 -07:00
gmarek 08385b2c5f Make service-range flag in controller-manager optional 2016-05-23 09:37:53 +02:00
k8s-merge-robot 8b0e9c5739 Merge pull request #24947 from hpcloud/hpe/vsphere-volume
Automatic merge from submit-queue

vSphere Volume Plugin Implementation

This PR implements vSphere Volume plugin support in Kubernetes (ref. issue #23932).
2016-05-22 20:40:14 -07:00
Abitha Palaniappan 95c009dbdb Adding vSphere Volume support for vSphere Cloud Provider 2016-05-21 11:00:14 -07:00
Wojciech Tyczynski 0f881d6120 Use protobufs by default to communicate with apiserver 2016-05-21 11:38:32 +02:00
mqliang 17d5a302bb make podcidr mask size configurable 2016-05-20 20:44:40 +08:00
mqliang cf7a3475f3 Don't allow node controller to allocate into service CIDR range 2016-05-20 20:44:40 +08:00
k8s-merge-robot c63ac4e664 Merge pull request #24331 from jsafrane/devel/refactor-binder
Automatic merge from submit-queue

Refactor persistent volume controller

Here is complete persistent controller as designed in https://github.com/pmorie/pv-haxxz/blob/master/controller.go

It's feature complete and compatible with current binder/recycler/provisioner. No new features, it *should* be much more stable and predictable.

Testing
--
The unit test framework is quite complicated, still it was necessary to reach reasonable coverage (78% in `persistentvolume_controller.go`). The untested part are error cases, which are quite hard to test in reasonable way - sure, I can inject a VersionConflictError on any object update and check the error bubbles up to appropriate places, but the real test would be to run `syncClaim`/`syncVolume` again and check it recovers appropriately from the error in the next periodic sync. That's the hard part.

Organization
---
The PR starts with `rm -rf kubernetes/pkg/controller/persistentvolume`. I find it easier to read when I see only the new controller without old pieces scattered around.
[`types.go` from the old controller is reused to speed up matching a bit, the code looks solid and has 95% unit test coverage].

I tried to split the PR into smaller patches, let me know what you think.

~~TODO~~
--

* ~~Missing: provisioning, recycling~~.
* ~~Fix integration tests~~
* ~~Fix e2e tests~~

@kubernetes/sig-storage

<!-- Reviewable:start -->
---
This change is [<img src="http://reviewable.k8s.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](http://reviewable.k8s.io/reviews/kubernetes/kubernetes/24331)
<!-- Reviewable:end -->

Fixes #15632
2016-05-19 03:06:46 -07:00
Jan Safranek 79b91b9ee0 Refactor persistent volume initialization
There should be only one initialization function, shared by the real
controller and unit tests.
2016-05-18 10:06:51 +02:00
Jan Safranek 514d595881 provisioning: Implement provisioner 2016-05-18 10:06:51 +02:00
Jan Safranek 71aa892a86 Implement volume controller skeleton.
This is a simple controller that watches changes of PersistentVolumes and
PersistentVolumeClaims.
2016-05-17 15:14:02 +02:00
Chao Xu c73406bcfe the garbage collector controller 2016-05-15 16:04:19 -07:00
saadali 214b4c28bc Skeleton of new attach detach controller 2016-05-09 11:34:11 -07:00
mqliang c10f43a2e5 implement AddIndexers for SharedIndexInformer 2016-05-06 21:23:18 +08:00
mqliang 9011207f18 add namespace index to rc and pod 2016-05-06 17:12:36 +08:00
Prashanth Balasubramanian 6bc3052551 PetSet alpha controller 2016-05-04 18:39:17 -07:00
Clayton Coleman fdb110c859
Fix the rest of the code 2016-04-29 17:12:10 -04:00
k8s-merge-robot ea15d792a1 Merge pull request #24470 from deads2k/shared-cache-02
Automatic merge from submit-queue

update controllers watching all pods to share an informer

This plumbs the shared pod informer through the various controllers to avoid duplicated watches.
2016-04-23 17:18:47 -07:00
deads2k 60fe17d338 update resource quota controller for shared informers 2016-04-21 08:20:39 -04:00
deads2k 8c4e3af1a3 switch job controller to shared informer 2016-04-21 08:20:39 -04:00
deads2k 8b707016f9 convert daemonset controller to SharedInformer 2016-04-21 08:20:39 -04:00
Wojciech Tyczynski d6896fa45a Allow setting content-type in binaries 2016-04-21 14:12:13 +02:00
goltermann 3fa6c6f6d9 Enable vet 2016-04-20 09:48:24 -07:00
deads2k f0c33d65b6 start sharing the pod cache and list/watch 2016-04-18 08:51:55 -04:00
Robert Rati 83de3e9733 Added optional delays to starting controller managers. #22669 2016-04-13 09:52:28 -04:00
k8s-merge-robot e44ad7a083 Merge pull request #22735 from resouer/throttle-dev
Auto commit by PR queue bot
2016-03-26 06:44:48 -07:00
goltermann 32d569d6c7 Fixing all the "composite literal uses unkeyed fields" Vet errors. 2016-03-25 15:25:09 -07:00
harry 8472cfa214 Refactor throttle into util pkg
Fix missing throttle.go
2016-03-25 08:32:23 +08:00
Harry Zhang a4d04095d0 Refactor crlf & crypto 2016-03-21 20:20:05 +08:00
Wojciech Tyczynski e2ebc50648 Don't sync all objects for replenishment as often as ResourceQuota. 2016-03-07 08:31:09 +01:00
k8s-merge-robot 2808973503 Merge pull request #22038 from mqliang/daemonset-cache
Auto commit by PR queue bot
2016-03-05 03:38:55 -08:00
k8s-merge-robot 57670edc15 Merge pull request #22345 from fgrzadkowski/hpa_events
Auto commit by PR queue bot
2016-03-04 09:18:21 -08:00
k8s-merge-robot 0e3469dce3 Merge pull request #22183 from pmorie/config-quota
Auto commit by PR queue bot
2016-03-04 03:12:51 -08:00
Filip Grzadkowski b5c9af9762 Use controller framework in HPA controller.
Ref #22174
2016-03-03 11:55:44 +01:00
derekwaynecarr 41057b02d5 Move namespace controller to use discovery and dynamic client 2016-03-02 23:34:18 -05:00
Paul Morie 834776aa1f Add resource quota for ConfigMap 2016-03-02 09:59:51 -05:00
mqliang 7e1ab26c06 add lookup cache for daemonset 2016-03-01 22:04:56 +08:00
Kris e664ef922f Move restclient to its own package 2016-02-29 12:05:13 -08:00
Wojciech Tyczynski cf7e6d0fc3 Merge pull request #21965 from mqliang/flag-abbreviation
avoid use abbreviation in flag
2016-02-29 14:43:26 +01:00
k8s-merge-robot 6f8a951f87 Merge pull request #20446 from derekwaynecarr/quota_scopes
Auto commit by PR queue bot
2016-02-27 19:46:42 -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
derekwaynecarr af85fb57c3 Make ResourceQuota admission and controller work generically 2016-02-26 20:34:15 -05:00
mqliang 4a9a3aeeea avoid use abbreviation in flag 2016-02-25 17:30:21 +08:00
Mike Danese 5ec02bd021 add http handler to export configuration state 2016-02-24 14:12:28 -08:00
mqliang e44e71ca87 make cache size configurable 2016-02-24 22:37:02 +08:00
Jan Safranek 1d0b1c227b Add PV.Name into names of generated GCE/AWS/OSP volumes.
Volume names have now format <cluster-name>-dynamic-<pv-name>.

pv-name is guaranteed to be unique in Kubernetes cluster, adding
<cluster-name> ensures we don't conflict with any running cluster
in the cloud project (kube-controller-manager --cluster-name=XXX).

'kubernetes' is the default cluster name.
2016-02-12 09:46:59 +01:00
Mike Danese 31b8905da7 move controller manager to compoenent config 2016-02-11 13:13:03 -08:00
derekwaynecarr 56f5b992bb Fix incorrect versions passed into namespace controller 2016-02-10 22:44:52 -05:00
derekwaynecarr 106693d9b3 Refactor namespace controller to use workers, do more delete collection calls 2016-02-09 16:39:13 -05:00
Jan Chaloupka 4389b3f0d6 Rewritte util.* -> wait.* wherever reasonable 2016-02-07 12:02:20 +01:00
Madhusudan.C.S 4f9b8b2bfc Link all the ReplicaSet controller boilerplate together.
1. Enable replica set in controller manager.
2. Enable replica set etcd storage in master package.
3. Add replica set support to kubectl commands.
2016-02-05 21:05:10 -08:00
Mike Danese b1743a6887 this is a manual reversion of #20702
I can't revert with github which says "Sorry, this pull request couldn’t be
reverted automatically. It may have already been reverted, or the content may
have changed since it was merged."

Reverts commit: 0c191e787b
2016-02-05 16:34:02 -08:00
Chao Xu 184440f8ef rename release_1_2 to internalclientset 2016-02-05 14:02:28 -08:00
Jan Safranek 76b6449715 Retry recycle or delete operation on failure.
Recycle controller tries to recycle or delete a PV several times.
It stores count of failed attempts and timestamp of the last attempt in
annotations of the PV.

By default, the controller tries to recycle/delete a PV 3 times in
10 minutes interval. These values are configurable by
kube-controller-manager --pv-recycler-maximum-retry=X --pvclaimbinder-sync-period=Y
arguments.
2016-02-05 17:02:13 +01:00
gmarek 0c191e787b Split controller flags between controllers 2016-02-05 12:17:51 +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
Chao Xu fe7887f1ec replace the client with clientset in controllers 2016-02-02 20:28:45 -08:00
Chao Xu c72d234bbf replacing handwritten client in several controllers 2016-01-31 15:42:02 -08:00
Mike Danese a885d84cc9 leaderelection: retrofit controller-manager with leaderelection client
Signed-off-by: Mike Danese <mikedanese@google.com>
2016-01-18 14:05:55 -08:00
Nagarjun c98364e79b insert space after comment character in cmd folder 2016-01-08 16:25:57 +05:30
Clayton Coleman 2326e2bae3 Split controller manager options from init
Make defaults and flags clearly distinct from initialization code.
2016-01-06 22:39:14 -05:00
k8s-merge-robot 236683fe29 Merge pull request #18357 from gmarek/expose-master-components
Auto commit by PR queue bot
2016-01-04 14:32:17 -08:00
Clayton Coleman 9dad7e624c Split the serviceaccount package into two parts
Public utility methods and JWT parsing, and controller specific logic.
Also remove the coupling between ServiceAccountTokenGetter and the
authenticator class.
2015-12-26 21:28:12 -05:00
gmarek a4202cbee9 Scheduler and ControllerManager listens on 0.0.0.0 2015-12-23 08:33:25 +01:00
k8s-merge-robot 20b7810a21 Merge pull request #16667 from DirectXMan12/refactor/hpa-use-namespacers
Auto commit by PR queue bot
2015-12-20 07:34:39 -08:00
Janet Kuo 32d153093e Fix deployment tests failures; change ResyncPeriod 2015-12-17 19:29:54 -08:00
Sam Ghods b838d8ce18 Add informers to deployment controller 2015-12-17 19:29:54 -08:00
Jan Safranek d4f6271b21 Implement Creater and Deleter interfaces for GCE PD. 2015-12-16 16:14:01 -05:00
Jan Safranek 2f06ebf9b7 Implement Creater and Deleter interfaces for Cinder. 2015-12-16 14:23:14 -05:00
Jan Safranek 6ff5286df9 Implement Creater and Deleter interfaces for AWS EBS.
Also mark the created EBS volumes with tags, so the admin knows
who/what created the volumes.
2015-12-15 10:22:49 +01:00
Solly Ross 15fc230a59 Make HPA Controller use Namespacers
The HPA controller had previously used a single Client
object to act as three different Namespacers.  To improve
ease of extensibility and to make it clearer what the HPA
controller actually needs to use from the client, it should
use separate Namespacers for each of its needs (Scales, HPAs,
and Events).
2015-12-14 11:41:00 -05:00
Wojciech Tyczynski 342eee680c Revert "[hpa] Parameterize tolerance, downscale, and upscale into HPAController, and add corresponding unit test for backsolved tolerance." 2015-12-13 09:54:43 +01:00
k8s-merge-robot 9b07349013 Merge pull request #18315 from jayunit100/hpa-tolerance-config
Auto commit by PR queue bot
2015-12-12 01:55:46 -08:00
markturansky 4fc1bf1f23 Added PersistentVolumeController 2015-12-11 10:33:30 -05:00
Jay Vyas 5161d169ba Parameterization for downscale, upscale, and tolerance with backsolving
unit test for visible testing of tolerance algorithm expectations. Logs for dScale, uScale, tol creation.
2015-12-10 10:59:21 -05:00
gmarek 5298c2f62e All controllers run by controller-manager use diffrent UserAgents 2015-12-07 10:02:23 +01:00
derekwaynecarr 55d4f70f8e Resource quota observes deletes faster 2015-12-03 17:35:05 -05:00
Prashanth Balasubramanian 9aa0efa393 Turn flannel off by default 2015-11-25 09:43:48 +01:00
Prashanth Balasubramanian 4cd1ee177b Salt configuration for flanneld 2015-11-25 09:42:59 +01:00
k8s-merge-robot 7536e776f3 Merge pull request #16931 from mikedanese/inclustercomponent
Auto commit by PR queue bot
2015-11-18 22:52:27 -08:00
Jordan Liggitt 14c40fa741 Fix transposed controller manager args 2015-11-17 15:24:57 -05:00
Mike Danese fb056c47b2 use inClusterConfig before using default config for cluster components 2015-11-17 10:37:40 -08:00
Jordan Liggitt 165d7d5030 Enable specifying scheme/port for metrics client 2015-11-16 13:18:40 -05:00
Dr. Stefan Schimanski bc7523a775 Make controller manager node monitor constant public 2015-11-16 11:48:04 +01:00
He Simei d76d57e0e1 wait for 10s before controller manager fails when api-server is not up 2015-11-13 14:16:39 +08:00
k8s-merge-robot c3a072768b Merge pull request #16728 from markturansky/lengthen_pv_sync
Auto commit by PR queue bot
2015-11-05 00:35:12 -08:00
markturansky 468bc39a63 Lengthened pvsync period 2015-11-04 00:42:44 -05:00
Solly Ross f262560cac Customize HPA Heapster service namespace/name
This commit makes the HPA metrics client configurable in where
it looks for heapster instead of hard coding it to
"kube-system/heapster".  The values of "kube-system/heapster"
are still recorded as constants in the metrics client package
for use as default values.
2015-11-02 11:14:08 -05:00
Deyuan Deng 638411d744 Wait apiserver in controller manager startup process 2015-10-29 00:15:33 +08:00
k8s-merge-robot 54706661ad Merge pull request #15479 from feiskyer/gendocs
Auto commit by PR queue bot
2015-10-25 17:47:14 -07:00
k8s-merge-robot 6b330a8db5 Merge pull request #16112 from deads2k/expose-resync
Auto commit by PR queue bot
2015-10-25 05:16:29 -07:00
feisky 13dce74adb Gendocs for docs/admin/kube-* 2015-10-25 19:24:23 +08: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
deads2k 33c860c81f expose ResyncPeriod for easier composition 2015-10-22 14:20:03 -04:00
k8s-merge-robot 68717ddae0 Merge pull request #15659 from caesarxuchao/discovery-client
Auto commit by PR queue bot
2015-10-16 20:03:33 -07:00
Chao Xu 5859da3e1f add discovery client 2015-10-16 14:20:21 -07:00
k8s-merge-robot 4ed2121de5 Merge pull request #15183 from mikedanese/enable-gc
Auto commit by PR queue bot
2015-10-16 06:20:17 -07:00
Brendan Burns 0c730f4ea7 update 2015-10-14 18:22:19 -07:00
Brendan Burns 947a558320 Dynamically enable controllers based on what resources the server has.
Dynamically delete namespaces based on what resources the server has.
2015-10-14 15:53:19 -07:00
k8s-merge-robot ae9f7c8ff8 Merge pull request #15426 from zhengguoyong/adjust_package_name_pkgcontroller
Auto commit by PR queue bot
2015-10-13 06:05:23 -07: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
eulerzgy 4ed5f9d240 adjust package name for pkg/controller directory 2015-10-12 09:51:27 +08:00
Wojciech Tyczynski df79026b79 Extend resyncPeriods in controllers in production. 2015-10-08 09:10:09 +02:00
Mike Danese df1a3d3fdf enable pod gc by default with terminated pod gc threshold of 12500 2015-10-06 14:53:16 -07:00
Mike Danese 833be48d61 enable all experimental flags with one controller 2015-10-05 14:54:19 -07:00
k8s-merge-robot 7007481f00 Merge pull request #14917 from nikhiljindal/deploymentController
Auto commit by PR queue bot
2015-10-02 13:18:49 -07:00
nikhiljindal c6deb442f9 Adding events to deployment 2015-10-01 16:38:08 -07:00
gmarek a3723e2045 Separate deletion and termination evictors in NodeController, and fix rate_limited_queue.go 2015-09-30 09:42:01 +02:00
Mike Danese 376faea1cf add pod garbage collection 2015-09-24 22:47:53 -07:00
Jerzy Szczepkowski c8238c079a E2E tests for horizontal pod autoscaler.
Fixes & tuning in horiontal pod autoscaler and its e2e tests; two of the tests added to "Autoscaling suite".
2015-09-24 14:14:35 +02:00
Mike Danese 22072af90d rename jobmanager to jobcontroller 2015-09-18 11:48:47 -07:00
k8s-merge-robot 9cb1477662 Merge pull request #14123 from Huawei-PaaS/issue/missing_parameter
Auto commit by PR queue bot
2015-09-17 14:08:53 -07:00
Jian Huang 1e9b8de56c Fix the issue where output paramters not matched golog string format 2015-09-18 00:45:01 +08:00
Maciej Szulik 8cefa2ee55 Job controller logic 2015-09-17 10:05:33 +02:00
markturansky 7bc55b5aea configurable pv recyclers 2015-09-15 12:48:25 -04:00
nikhiljindal c97b9db700 Adding a deploymentController 2015-09-14 18:39:46 -07:00
Mike Danese 1065872d29 rebase and resolve a huge amount of conflicts to keep this up to date (does this commit have more LOC changed than the original implementation? that would be funny...) 2015-09-11 17:04:34 -07:00
Ananya Kumar c7628fae43 Add daemon manager 2015-09-11 16:56:08 -07:00
Jerzy Szczepkowski 65d43a40e5 Changed nameing in controller for HorizontalPodAutosclaer.
Changed nameing in controller for HorizontalPodAutosclaer to make it consistent with coding conventions.
2015-09-10 15:10:07 +02:00
Jerzy Szczepkowski 6998247e1b Implemented removal of Deployments, Daemons & HorizontalPodAutoscalers when Namespace is removed.
Implemented removal of Deployments, Daemons & HorizontalPodAutoscalers when Namespace is removed. Added unittest. Fixes #12735.
2015-09-09 10:59:43 +02:00
Quinton Hoole 7bbe516b95 Merge pull request #13303 from mwielgus/hpa_heapster_interface
MetricsClient for HorizontalPodAutoscaler
2015-09-04 09:09:54 -07:00
markturansky 68358fd308 Added VolumeConfig to volumes 2015-09-01 12:04:26 -04:00
Marcin Wielgus 064b09ff0b MetricsClient for HorizontalPodAutoscaler 2015-09-01 17:24:11 +02:00
k8s-merge-robot b6e355d2d3 Merge pull request #13142 from jszczepkowski/exp-flag
Auto commit by PR queue bot
2015-08-28 17:08:06 -07:00
Clayton Coleman 8a62f1828d Evict terminating pods 2015-08-25 14:17:39 -03:00
Jerzy Szczepkowski 2de49358ab Added flags for horizontal pod autoscaler to controller-manager.
Added flags for horizontal pod autoscaler to controller-manager.
2015-08-25 17:28:17 +02:00
Marcin Wielgus 1ce8bb7bb2 Scale subresource querying in HorizontalPodAutoscaler 2015-08-24 16:42:25 +02:00
Jerzy Szczepkowski f2e15fd538 Experimental client for horizontal pod autoscaler.
Implementation of experimental client for horizontal pod autoscaler. Placeholder implementation for controller for horizontal pod autoscaler.
2015-08-19 09:39:17 +02:00
Robert Bailey 08e6a43c1d Revert "Merge pull request #9165 from smarterclayton/graceful"
This reverts commit 4f856b595d, reversing
changes made to d78525a83b.

Conflicts:
	pkg/kubelet/status_manager.go
2015-08-18 17:34:49 -07:00
Kris Rousey ae6c64d9bb Moving everyone to unversioned client 2015-08-18 10:23:03 -07:00
Clayton Coleman edb108802d Handle gracefully terminated pods in node controller
Eviction should retry longer and wait for completion of the pod.
2015-08-18 09:08:45 -04: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
Kris Rousey 565189f5b8 Correcting all go vet errors 2015-08-11 13:55:37 -07:00
markturansky 8e0d391b1e Refactored persistent volume controllers to new packaging structure 2015-08-10 23:18:48 -04:00
Alex Robinson 11fcd3bb39 Merge pull request #12478 from eparis/use-pflag-network
Use pflags for net.IP and net.IPNet instead of custom flag types
2015-08-10 11:55:54 -07:00
Eric Paris f3282ff4d2 Use pflag IPNet instead of our own helpers
Since pflag can handle net.IPNet arguements use that code. This means
that our code no longer has casts back and forth and just natively uses
net.IPNet.
2015-08-10 10:15:08 -04: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
Veres Lajos 9f77e49109 typofix - https://github.com/vlajos/misspell_fixer 2015-08-08 22:31:48 +01:00
Mike Danese 8e33cbfa28 rewrite go imports 2015-08-05 17:30:03 -07:00
gmarek e20536d16a Remove register-retry-count flag from controller-manager 2015-08-05 10:07:59 +02:00
gmarek 2201e75666 NodeController small cleanup 2015-08-04 14:44:14 +02:00
gmarek d27ad5b714 Controller codebase refactoring 2015-08-03 17:06:25 +02:00
Ananya Kumar 47dd0bc6f9 Refactor package controller 2015-07-29 09:54:35 -07:00
Daniel Smith a9948158eb Merge pull request #11867 from kelseyhightower/node-cidrs-works-with-empty-cloud-provider
Allocating CIDRs for Pods works without a cloud provider.
2015-07-27 17:20:44 -07:00
Kelsey Hightower 93a374512e Allocating CIDRs for Pods works without a cloud provider.
Currently setting the `--allocate-node-cidrs` flag to true with an
empty cloud provider causes the kube-controller-manager to crash during
startup.

Fix the issue by checking for an empty cloud provider before setting
up route management on the cloud provider. This change introduces a
change in behavior. The kube-controller-manager now supports allocating
pod CIDRs without a cloud provider. This means users must manage routes
through some other mechanism.

The controller manager logs a warning if `--allocate-node-cidrs` is set,
but not a cloud provider:

```
I0725 17:10:41.587888   43185 plugins.go:70] No cloud provider specified.
I0725 17:10:41.588036   43185 nodecontroller.go:114] Sending events to api server.
E0725 17:10:41.588122   43185 controllermanager.go:201] Failed to start service controller: ServiceController should not be run without a cloudprovider.
W0725 17:10:41.588136   43185 controllermanager.go:213] allocate-node-cidrs is set, but no cloud provider specified. Will not manage routes.
E0725 17:10:41.589703   43185 nodecontroller.go:187] Error monitoring node status: Get http://127.0.0.1:8080/api/v1/nodes: dial tcp 127.0.0.1
```

Fixes #11866
2015-07-27 16:13:19 -07:00
Alex Robinson 60611c253e Add a resync period for services in the service controller.
This should ensure all load balancers get deleted even if a reordering of
watch events causes us to strand one after its service has been deleted,
because the sync will notice that the service controller's cache has a
service in it that no longer exists in the apiserver.

It could still leak in the case that the controller manager is killed
between when it leaks something and the sync runs, but this should
improve things.
2015-07-27 18:03:13 +00: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
Mike Danese 1e130e0794 remove --machines from code and docs 2015-06-25 18:29:11 -07:00
Mike Danese fbd03e5b90 fix variable shadowing bug where provided RootCA would always be a nil byte slice 2015-06-25 11:40:48 -07:00
Mike Danese 56bde3342a add ca to token controller and all service accounts 2015-06-24 15:10:20 -07:00
James DeFelice 022ff5196d fix broken file refs 2015-06-12 14:03:01 +00:00
James DeFelice 1820114a2d Upstream controller manager and km binary
Closes mesosphere/kubernetes-mesos#310
Depends on GoogleCloudPlatform/kubernetes#8882

- fix https://github.com/mesosphere/kubernetes-mesos/issues/336
- Fix comment typo
- Fixes https://github.com/GoogleCloudPlatform/kubernetes/pull/9265#commitcomment-11559038
- Add warning to k8s modules to also update mesos copies
- Fixes https://github.com/GoogleCloudPlatform/kubernetes/pull/9265#commitcomment-11558864
- Fixes https://github.com/GoogleCloudPlatform/kubernetes/pull/9265#commitcomment-11558855
- Add comments and TODO that hypercube and controllermanager need refactoring
2015-06-12 14:03:00 +00:00
markturansky deec5f26cd Recycler controller 2015-06-04 15:47:36 -04:00
gmarek 1490543d54 Move evicting pods to separate thread to allow for correct ratelimitting. 2015-06-01 11:39:20 +02:00
Saad Ali c5525ecfdc Merge pull request #8704 from roberthbailey/dead-flags
Deprecate flags for nodecontroller
2015-05-26 09:54:01 -07:00
CJ Cullen d6e0aedec1 Re-add the cluster_name flag that the ServiceController and RouteController need. 2015-05-22 16:31:22 -07:00
Robert Bailey d0bcf953e9 Deprecate the following flags for node-controller:
--node-milli-cpu
  --node-memory
  --machines
  --minion-regexp
  --sync-nodes

Remove the following flags from the standalon kubernetes binary:
  --node-milli-cpu
  --node-memory
2015-05-22 15:18:36 -07:00
CJ Cullen 0d12a15971 Route creation reconciler loop. 2015-05-20 14:21:30 -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
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
Jordan Liggitt 7e9281fc39 Allow ServiceAccountsController to manage multiple named service accounts 2015-05-15 23:42:00 -04:00
David Oppenheimer 7a21d7ab1f Merge pull request #8053 from jdef/upstream_mesos_cloud
integrate mesos cloud provider with k8s proper
2015-05-14 13:57:39 -07:00
gmarek 8a4717d3f5 Remove unused ClusterName from NodeController 2015-05-14 18:01:23 +02:00
markturansky 0191574f7e Bi-directional bind between pv.Spec.ClaimRef and pvc.Spec.VolumeName 2015-05-13 14:05:21 -04:00
James DeFelice 652c14d8d7 integrate mesos cloud provider into kube apps 2015-05-12 16:02:38 +00:00
Jordan Liggitt db1f0dc906 JWT token generation/verification 2015-05-11 17:18:06 -04:00
Jordan Liggitt 6e570732f5 ServiceAccounts controller 2015-05-11 17:18:05 -04:00
Jordan Liggitt 0955808668 ServiceAccountTokens controller 2015-05-11 17:18:05 -04:00
Prashanth Balasubramanian 4fdd5bc3f3 Ratelimit replica creation 2015-05-08 14:24:25 -07:00
CJ Cullen fbd125e4e2 Remove restriction that cluster-cidr be a class-b 2015-05-06 15:01:13 -07:00
Jerzy Szczepkowski e967ffd522 Added flag to set cluster class B network address for pods, add flag to disable allocation CIDRs for Pods. Fixed synchornization bug in NodeController registerNodes(). 2015-05-05 16:10:43 -07:00
Wojciech Tyczynski 0a032ade46 Enable profiling in kube-controller 2015-05-04 13:22:25 +02: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
Prashanth Balasubramanian 7592dabeba RcManager uses informers 2015-04-28 13:45:15 -07:00
Tim Hockin a3d45fada8 Change flags to use dashes in help 2015-04-27 15:11:03 -07:00
markturansky beacd8722a addressed feedback. added opt-in cmd line flag 2015-04-27 15:00:01 -04:00
markturansky 37d7f3f4f1 Added integration test, fixed a validation issue 2015-04-27 12:05:12 -04:00
markturansky b634f17ca7 Refactored to DeltaFifo 2015-04-27 12:05:12 -04:00
markturansky 6c6aab60ab goformatted 2015-04-27 12:05:12 -04:00
markturansky fb412e47e4 Addressed feedback, improved flow and comments 2015-04-27 12:05:11 -04:00
Alex Robinson 6ae8e40d3d Move the logic for reconciling the host targets of external load balancers
from the node controller to the service controller before impending changes
to the node controller make it not fit there anymore.
2015-04-24 18:44:04 +00:00
Filip Grzadkowski 9357341995 Add metrics handler in controller manager. 2015-04-22 16:46:03 +02:00
Prashanth B f2f40b06aa Merge pull request #6943 from lavalamp/fix4
Improve endpoint controller
2015-04-17 16:30:31 -07:00
Daniel Smith a2953fdc7e Make endpoint controller use framework 2015-04-17 15:21:51 -07:00
Eric Tune 6081fa52a7 controller, scheduler, proxy use kubeconfig
--master option still supported.
--kubeconfig option added to kube-proxy,
kube-scheduler, and kube-controller-manager
binaries.

Kube-proxy now always makes some kind of API
source, since that is its only kind of config.
Warn if it is using a default client, which probably won't work.

Uses the clientcmd builder.
2015-04-17 12:44:17 -07:00
Alex Robinson fc08a0a71b Do service creation/update/deletion work in a pool of goroutines, protecting
each service with a lock to ensure that no two goroutines will process a
service at the same time. This is needed to avoid weird race conditions.
2015-04-15 00:30:18 +00:00
Alex Robinson ccc300289f Implement a ServiceController that watches services and handles keeping
external load balancers up-to-date based on the service's specs, using
the new DeltaFIFO watch queue class. Remove the old registry REST
handler code for creating/updating/deleting load balancers.

Also clean up a bunch of the GCE cloudprovider code related to load balancers.
2015-04-14 18:56:24 +00:00
Alex Robinson a11106edd3 Put the node controller in its own package rather than in the generic
cloudprovider/controller package.
2015-04-14 18:34:59 +00:00
Daniel Smith d02139d2b4 Merge pull request #6771 from derekwaynecarr/ns_controller
Remove delay when deleting namespaces, move to new controller framework
2015-04-13 17:55:13 -07:00
Deyuan Deng 236db3c252 Remove kubelet dependency on nodecontroller 2015-04-13 16:59:45 -04:00
derekwaynecarr c1a3fa0dae Remove delay when deleting namespaces, move to new controller framework 2015-04-13 15:18:22 -04:00
Jerzy Szczepkowski 1c042208c7 Added retrying update of balancers in case some of updates failed. 2015-04-10 16:06:56 +02:00
Jerzy Szczepkowski eb253a694e Updating target pools on cloud nodes change.
Implemented updating target pools for external services on chage of cloud nodes. Related to #5241.
2015-04-10 16:06:56 +02:00
Timothy St. Clair 2b60111fca Performance change to option enable client.QPS, client.Burst
and change default on max_requests_inflight.
2015-04-10 07:53:54 -05:00
Timothy St. Clair 9177baa64c Enable profiling by default re: #6623 2015-04-09 10:52:37 -05:00
gmarek 72182735b9 Remove Node Controllers ability to pull status from Kubelet 2015-04-08 09:44:42 +02: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
Eric Tune e49424785e Merge pull request #6380 from roberthbailey/kubelet-ssl
Configure the kubelet to use HTTPS (take 2)
2015-04-03 13:43:00 -07:00
Piotr Szczesniak 8bc9f5fef7 Added rate limiting to pod deletion
Fixes #6228
2015-04-03 06:58:59 +02: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
Robert Bailey 32a1c052dc Revert "Configure the kubelet to use HTTPS" 2015-04-01 13:59:31 -07:00
Robert Bailey 58bc792e68 Configure the master to connect to the kubelet using HTTPS. 2015-04-01 09:09:29 -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
Brian Grant 984bc8d5f6 Merge pull request #5635 from ravigadde/master
Add timeout to kubelet client
2015-03-26 14:55:24 -07:00
Federico Simoncelli 5b3056cdb7 nodecontroller: add event recorder support
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-03-25 15:06:53 -04:00
Deyuan Deng c5675b8924 Use fake time in nodecontroller unittest; rename receiver 's' to 'nc' 2015-03-24 14:23:48 -04:00
Deyuan Deng 0d5f8dfde1 Node controller monitor node status 2015-03-24 14:19:56 -04:00
derekwaynecarr 84c9709299 Increase controller sync time for namespace cleanup 2015-03-24 10:44:34 -04:00
derekwaynecarr 2ac63ebbe6 Add namespace controller to drive life-cycle 2015-03-24 10:36:06 -04:00
Ravi Gadde 5871e53060 Add timeout to kubelet client 2015-03-20 18:46:45 -07:00
Clayton Coleman 015bc3b7bd Remove global map from healthz
It currently is impossible to use two healthz handlers on different
ports in the same process.  This removes the global variables in favor
of requiring the consumer to specify all health checks up front.
2015-03-19 19:49:44 -04:00
Dawn Chen 0cc2b62b4a Merge pull request #5265 from ddysher/kubelet-post-status
kubelet post node status to master
2015-03-13 15:29:22 -07:00
Timothy St. Clair 7eebf674d4 Update to option enable profiling on the master daemon processes.
--profiling=true , default is false
2015-03-13 10:45:01 -05:00
Deyuan Deng 9982aaa960 kubelet post node status to master 2015-03-10 23:17:36 -04:00
Prashanth Balasubramanian 1970c2d201 Retry resizing replication controllers in kubectl 2015-03-02 20:26:41 -08:00
Jerzy Szczepkowski e0548c3c03 Node controller supports disabling node probes.
Node controller supports disabling sending node probes and updating node statuses. Controlled by --sync_node_status flag. Resolves #4565.
2015-02-27 08:21:04 +01:00
Justin Santa Barbara 754d9b8048 Fix typo in comment: mail -> main 2015-02-24 16:15:59 -08:00
Tim Hockin 0b17c0f225 move pkg/controllermanager to cmd/kube-controller-manager/app 2015-02-20 08:49:12 -08:00