Commit Graph

541 Commits

Author SHA1 Message Date
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
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
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
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