Commit Graph

179 Commits (482e3074060bc849c365f1ac5c8a225ce17e2967)

Author SHA1 Message Date
Walter Fender 070a7b5823 Seperate loop and plugin control
Seperate loop and plugin control in the kube-controller-manager.
Adding an "--external-plugin" flag to specify a plugin to load when
cloud-provider is set to "external". Flag has no effect currently
when the cloud-provider is not set to external. The expectation is
that the cloud provider and external plugin flags would go away once
all cloud providers are on stage 2 cloud-controller-manager solutions.

Managing the control loops more directly based on start up flags.
Addressing issue brought up by @wlan0

Switched to using the main node controller in CCM.
Changes to enable full NodeController to start in CCM.
Fix related tests.
Unifying some common code between KCM and CCM.
Fix related tests and comments.
Folded in feedback from @jhorwit2 and @wlan0
2017-12-18 10:58:45 -08:00
Kubernetes Submit Queue 3e2de4e427
Merge pull request #56828 from oracle/for/upstream/master/ccm-lock-id
Automatic merge from submit-queue (batch tested with PRs 56828, 55184, 56849, 57081, 56654). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Use hostname for CCM resource lock id

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

Uses the hostname for the resource lock id without the `-external-cloud-controller` which follows how the kube-scheduler and KCM select their ID. This is useful for tools that use the id to fetch logs from the leader among other things. 

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```

/cc @wlan0 @luxas
2017-12-16 17:45:38 -08:00
Kubernetes Submit Queue e1ee105bba
Merge pull request #56410 from stewart-yu/cloudeprovider-fixcloudnil
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

If cloud==nil, it should exits to avoid Panic

**What this PR does / why we need it**:
If `cloud == nil`, it should exits, otherwise `cloud.HasClusterID()` will panic.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2017-12-16 04:11:02 -08:00
Josh Horwitz def22b796c Use hostname for CCM resource lock id 2017-12-04 21:52:33 -05:00
supereagle 7dce7fe1eb use authentication client with explicit version 2017-11-27 22:13:19 +08:00
stewart-yu eed826a25e fix bug when cloud is nil 2017-11-27 21:55:32 +08:00
stewart-yu 26626529a7 should check return err 2017-11-26 11:03:14 +08:00
Kai Chen 81bf0265c9 Fix typo in CloudControllerManager 2017-11-15 22:17:55 -08:00
Kubernetes Submit Queue b2625857ad
Merge pull request #54197 from colemickens/hyperkube-add-cloud-controller-manager
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

hyperkube: add cloud-controller-manager

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

Adds `cloud-controller-manager` to `hyperkube`. (fix #55732)

This is useful as a number of deployment tools run all of the kubernetes components from the `hyperkube` image/binary. It also makes testing easier as a single binary/image can be built and pushed quickly.

This PR follows the same pattern of the other kubernetes binaries being available as part of `hyperkube`.

(This PR also makes an error condition appropriately fatal.)

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: n/a

**Special notes for your reviewer**: n/a

**Release note**:

```release-note
hyperkube: add cloud-controller-manager
```

/sig cluster-lifecycle
/area cloudprovider
2017-11-15 00:48:32 -08:00
Josh Horwitz a1fddf48c5 Add concurrent service sync flag to CCM 2017-11-12 14:29:47 -05:00
Cole Mickens 1675f025ea ccm: make missing --cloud-provider fatal 2017-11-10 14:28:58 -08:00
Cole Mickens 976cf098dd ccm: move all argument handling to server 2017-11-10 14:28:58 -08:00
Josh Horwitz 590e626939 Add support for configmap resource lock type to CCM 2017-11-05 19:24:16 -05:00
Dr. Stefan Schimanski cad0364e73 Update bazel 2017-10-18 17:24:04 +02:00
Dr. Stefan Schimanski 7773a30f67 pkg/api/legacyscheme: fixup imports 2017-10-18 17:23:55 +02:00
Jeff Grafton aee5f457db update BUILD files 2017-10-15 18:18:13 -07:00
drinktee c630a41017 add unit test for cloud-controller-manager 2017-10-15 10:29:46 +08:00
tcharding cd13ab0f69 cmd: cloud-controller: remove golint_failures entry 2017-10-05 14:19:59 +11:00
Dong Liu 5af2ac5344 Add comment for controller manager default values 2017-09-20 15:53:22 +08:00
Dong Liu 7f52438dea Add default value for RouteReconciliationPeriod in cloud controller manager 2017-09-18 13:17:14 +08:00
Dong Liu a53b0c3f34 Add cluster name option for cloud controller manager 2017-09-15 14:00:06 +08:00
Kubernetes Submit Queue a4b7100c20 Merge pull request #52007 from oracle/for/upstream/master/ccm-sa-run-jitter
Automatic merge from submit-queue (batch tested with PRs 52007, 52196, 52169, 52263, 52291)

Fixed CCM service controller start jitter

**What this PR does / why we need it**: The start jitter for the service controller was running regardless if the service controller was being ran. This should help startup time for CCM's without the service controller implementation. 

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```

/cc @wlan0 @andrewsykim @luxas @jhorwit2

/area cloudprovider
/sig cluster-lifecycle
2017-09-12 08:46:05 -07:00
Kubernetes Submit Queue ae8780f5ce Merge pull request #50289 from liggitt/cloud-controller-manager
Automatic merge from submit-queue (batch tested with PRs 50289, 52106)

Honor --use-service-account-credentials in cloud-controller-manager

If --use-service-account-credentials is specified, the cloud controller manager should honor it

The distinction between the rootclientbuilder and the clientbuilder came from kube-controller-manager, which is responsible for running the very controllers that enable service accounts. That two-layer approach is not needed in the cloud-controller-manager.

```release-note
The `kube-cloud-controller-manager` flag `--service-account-private-key-file` was non-functional and is now deprecated.
The `kube-cloud-controller-manager` flag `--use-service-account-credentials` is now honored consistently, regardless of whether `--service-account-private-key-file` was specified.
```
2017-09-12 03:44:15 -07:00
Josh Horwitz b286f9fdac Fixed CCM service controller start jitter 2017-09-06 09:23:02 +01:00
Kubernetes Submit Queue 43a40f7ab5 Merge pull request #44680 from rrati/pvl-controller
Automatic merge from submit-queue (batch tested with PRs 51574, 51534, 49257, 44680, 48836)

Add a persistent volume label controller to the cloud-controller-manager

Part of https://github.com/kubernetes/features/issues/88

Outstanding concerns needing input:
- [x] Why 5 threads for controller processing?
- [x] Remove direct linkage to aws/gce cloud providers [#51629]
- [x] Modify shared informers to allow added event handlers ability to include uninitialized objects/using unshared informer #48893
- [x] Use cache.MetaNamespaceKeyFunc in event handler?

I'm willing to work on addressing the removal of the direct linkage to aws/gce after this PR gets in.
2017-08-31 23:13:23 -07:00
wackxu c69df736ee refactor function 2017-08-30 17:09:12 +08:00
chenguoyan01 f2c530ee79 fix extra blanks in cloud controller manager's options 2017-08-29 19:44:23 +08:00
chenguoyan01 7062b977b7 add some period in cloud controller manager's options 2017-08-29 16:54:37 +08:00
Robert Rati 53856420e8 Replicate the persistent volume label admission plugin in a controller in
the cloud-controller-manager
2017-08-28 03:12:18 -04:00
Jordan Liggitt 55c7ce1d80
Honor --use-service-account-credentials in cloud-controller-manager 2017-08-17 01:41:57 -04:00
Jeff Grafton a7f49c906d Use buildozer to delete licenses() rules except under third_party/ 2017-08-11 09:32:39 -07:00
Jeff Grafton 33276f06be Use buildozer to remove deprecated automanaged tags 2017-08-11 09:31:50 -07:00
Robert Rati 926f070719 Make ClusterID required for AWS. #48954 2017-08-07 15:47:00 -04:00
supereagle edce96c5b6 use the core client with version 2017-07-26 19:16:02 +08:00
supereagle adc0eef43e remove duplicated import and wrong alias name of api package 2017-07-25 10:04:25 +08:00
Clayton Coleman b9bebe8a4e
Use a client interface instead of a concrete type
Aids testing
2017-07-22 20:29:48 -04:00
Kubernetes Submit Queue 96f7788f78 Merge pull request #48797 from FengyunPan/fix-empty-cidr
Automatic merge from submit-queue (batch tested with PRs 48231, 47377, 48797, 49020, 49033)

Fix parsing empty CIDR

Fix #48795
Checking ClusterCIDR and ServiceCIDR before parsing them.

**Release note**:
```release-note
NONE
```
2017-07-17 19:37:45 -07:00
Jacob Simpson 29c1b81d4c Scripted migration from clientset_generated to client-go. 2017-07-17 15:05:37 -07:00
FengyunPan dfc8b667a2 Fix parsing empty CIDR
Fix #48795
Checking ClusterCIDR and ServiceCIDR before parsing them.
2017-07-13 21:08:43 +08:00
Chao Xu 65cedeeb43 update bazel 2017-07-07 19:04:26 -07:00
Chao Xu 56de7e702e obvious fix 2017-07-07 19:04:26 -07:00
Chao Xu 24d5279c59 move leaderelection package to client-go 2017-07-07 17:01:04 -07:00
Kubernetes Submit Queue f663c4c83e Merge pull request #47489 from Mashimiao/cm-remove-unneeded
Automatic merge from submit-queue (batch tested with PRs 48264, 48324, 48125, 47944, 47489)

remove unneeded variable

Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>



**What this PR does / why we need it**:
small fix, remove unneeded variable

**Release note**:

```release-note
NONE
```
2017-06-30 20:58:35 -07:00
Chao Xu 60604f8818 run hack/update-all 2017-06-22 11:31:03 -07:00
Chao Xu f2d3220a11 run root-rewrite-import-client-go-api-types 2017-06-22 11:30:59 -07:00
Ma Shimiao ec3bbf733d remove unneeded variable
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2017-06-14 11:54:23 +08:00
Nick Sardo 87a5edd2cd Initialize cloud providers with a K8s clientBuilder 2017-05-17 14:38:25 -07:00
Sidhartha Mani 8666eaac53 bug fix #45156. Make cloud-provider flag mandatory 2017-05-05 16:51:49 -07:00
wlan0 45d2bc06b7 cloud initialize node in external cloud controller 2017-05-05 16:51:45 -07:00
Mike Danese a05c3c0efd autogenerated 2017-04-14 10:40:57 -07:00
garyyu(于广游) c9535869fc Bugfix: cloud-controller-manager routeController.run() block in WaitForCacheSync 2017-04-12 13:03:41 +08:00
NickrenREN 1dc323a8f9 remove NewCloudNodeController() second return value
NewCloudNodeController() will never return err,remove it
2017-03-25 10:54:01 +08:00
Andy Goldstein b011529d8a Add pprof trace support
Add pprof trace support and --enable-contention-profiling to those
components that don't already have it.
2017-03-07 10:10:42 -05:00
Andy Goldstein 171e458bab Update bazel 2017-02-27 06:48:13 -05:00
Andy Goldstein 4cd38b863f Remove references to pkg/controller/informers 2017-02-27 06:47:59 -05:00
Kubernetes Submit Queue af41d2f57c Merge pull request #41661 from liggitt/satoken
Automatic merge from submit-queue

Make controller-manager resilient to stale serviceaccount tokens

Now that the controller manager is spinning up controller loops using service accounts, we need to be more proactive in making sure the clients will actually work.

Future additional work:
* make a controller that reaps invalid service account tokens (c.f. https://github.com/kubernetes/kubernetes/issues/20165)
* allow updating the client held by a controller with a new token while the controller is running (c.f. https://github.com/kubernetes/kubernetes/issues/4672)
2017-02-20 08:39:31 -08:00
Jordan Liggitt b83e6f7d91
Make controller-manager resilient to stale serviceaccount tokens 2017-02-17 23:59:00 -05:00
Andy Goldstein 726f18524b Switch service controller to shared informers 2017-02-15 11:21:01 -05:00
Andy Goldstein effde6b8dd Switch route controller to shared informers 2017-02-13 15:21:33 -05:00
deads2k fd34b11e13 react to informer updates 2017-02-13 09:18:32 -05:00
deads2k a86fabb9d2 regenerate informers 2017-02-13 07:59:34 -05:00
Andy Goldstein 70c6087600 Replace hand-written informers with generated ones
Replace existing uses of hand-written informers with generated ones.
 Follow-up commits will switch the use of one-off informers to shared
 informers.
2017-02-06 13:49:27 -05:00
deads2k 8a12000402 move client/record 2017-01-31 19:14:13 -05:00
Dr. Stefan Schimanski 2b8e938128 Update generated files 2017-01-24 20:56:03 +01:00
Dr. Stefan Schimanski a6b2ebb50c pkg/flag: make feature gate extensible and split between generic and kube 2017-01-24 20:56:03 +01:00
Dr. Stefan Schimanski 56d60cfae6 pkg/util: move flags from pkg/util/config to pkg/util/flags 2017-01-24 20:56:03 +01:00
deads2k 335ef747d6 mechanical 2017-01-23 10:03:55 -05:00
deads2k ee6752ef20 find and replace 2017-01-20 08:04:53 -05:00
deads2k c587b8a21e re-run client-gen 2017-01-20 08:02:36 -05:00
Dr. Stefan Schimanski 3d9449a353 genericapiserver: fix imports 2017-01-19 13:06:47 +01:00
Clayton Coleman 9a2a50cda7
refactor: use metav1.ObjectMeta in other types 2017-01-17 16:17:19 -05:00
NickrenREN a12dea14e0 fix redundant alias clientset 2017-01-12 10:21:05 +08:00
deads2k 6a4d5cd7cc start the apimachinery repo 2017-01-11 09:09:48 -05:00
Kubernetes Submit Queue 73d36ce587 Merge pull request #39394 from wlan0/master
Automatic merge from submit-queue (batch tested with PRs 39394, 38270, 39473, 39516, 36243)

make private method private

@thockin
2017-01-09 12:05:17 -08:00
Jeff Grafton 20d221f75c Enable auto-generating sources rules 2017-01-05 14:14:13 -08:00
deads2k 4d7fcae85a mechanicals 2017-01-05 11:14:27 -05:00
wlan0 3917342bbb make private method private 2017-01-03 15:33:01 -08:00
wlan0 75da310757 sanitize names and add more comments, and other essential boilerplate changes 2016-12-22 14:37:15 -08:00
wlan0 1e48fd18cb add cloud-controller-manager as the first step in breaking controller-manager 2016-12-22 14:37:15 -08:00