Commit Graph

228 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
759785ea14
Merge pull request #109090 from sarveshr7/multicidr-rangeallocator
Enhance NodeIPAM to support multiple ClusterCIDRs
2022-08-07 15:40:18 -07:00
Sarvesh Rangnekar
5b801ba9f9 Introduce MultiCIDRRangeAllocator
MultiCIDRRangeAllocator is a new Range Allocator which makes using
multiple ClusterCIDRs possible. It consists of two controllers, one for
reconciling the ClusterCIDR API objects and the other for allocating
Pod CIDRs to the nodes.

The allocation is based on the rules defined in
https://github.com/kubernetes/enhancements/tree/master/keps/sig-network/2593-multiple-cluster-cidrs
2022-08-06 00:10:39 +00:00
Jakub Przychodzeń
08749750a9 Enable 'running_managed_controllers' for few more controllers 2022-08-02 07:33:32 +00:00
Jakub Przychodzeń
7dd4e89a99 Enable 'running_managed_controllers' for KCM nodeipam controller 2022-07-27 14:30:40 +00:00
Davanum Srinivas
a9593d634c
Generate and format files
- Run hack/update-codegen.sh
- Run hack/update-generated-device-plugin.sh
- Run hack/update-generated-protobuf.sh
- Run hack/update-generated-runtime.sh
- Run hack/update-generated-swagger-docs.sh
- Run hack/update-openapi-spec.sh
- Run hack/update-gofmt.sh

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-07-26 13:14:05 -04:00
Jakub Przychodzeń
49553a46bd 'running_managed_controllers' for KCM/CCM for cloud-node-lifecycle controller 2022-07-21 13:18:56 +00:00
Andy Goldstein
a899441484
quota: add an update filter
Fix a TODO to plumb an update filter from above in the resource quota
monitor code that was handling update events for quota-able objects,
instead of hard-coding the logic in the resource quota monitor.

Signed-off-by: Andy Goldstein <andy.goldstein@redhat.com>
2022-07-08 18:39:55 -04:00
Hemant Kumar
9343cce20b remove ExpandPersistentVolume feature gate 2022-03-24 10:02:47 -04:00
Konstantin Misyutin
808c8f42d5 Remove StorageObjectInUseProtection feature gate logic
This feature has graduated to GA in v1.11 and will always be
enabled. So no longe need to check if enabled.

Signed-off-by: Konstantin Misyutin <konstantin.misyutin@huawei.com>
2021-11-03 00:13:50 +03:00
Mike Dame
4960d0976a Wire contexts to Core controllers 2021-11-01 10:29:00 -04:00
Kubernetes Prow Robot
c592bd40f2
Merge pull request #105609 from pohly/generic-ephemeral-volume-ga
generic ephemeral volume GA
2021-10-28 17:36:50 -07:00
Kubernetes Prow Robot
f27e4714ba
Merge pull request #105377 from damemi/wire-contexts-apps
Wire contexts to Apps controllers
2021-10-14 06:59:19 -07:00
Mike Dame
41fcb95f2f Wire contexts to Apps controllers 2021-10-13 16:32:13 -04:00
Patrick Ohly
a8c930ef46 generic ephemeral volume: graduation to GA
The feature gate gets locked to "true", with the goal to remove it in two
releases.

All code now can assume that the feature is enabled. Tests for "feature
disabled" are no longer needed and get removed.

Some code wasn't using the new helper functions yet. That gets changed while
touching those lines.
2021-10-11 20:54:20 +02:00
Sahil Vazirani
3988405c8d
GA TTLAfterFinish 2021-10-07 16:58:50 -07:00
Mike Dame
bfd7f72e9b Remove Stop from ControllerContext and pass ctx.Done 2021-09-27 09:16:38 -04:00
Mike Dame
80dcf7df1b Update controller initializer funcs to take Context 2021-09-27 09:16:36 -04:00
Khaled Henidak (Kal)
a53e2eaeab
move IPv6DualStack feature to stable. (#104691)
* kube-proxy

* endpoints controller

* app: kube-controller-manager

* app: cloud-controller-manager

* kubelet

* app: api-server

* node utils + registry/strategy

* api: validation (comment removal)

* api:pod strategy (util pkg)

* api: docs

* core: integration testing

* kubeadm: change feature gate to GA

* service registry and rest stack

* move feature to GA

* generated
2021-09-24 16:30:22 -07:00
Kubernetes Prow Robot
5e2ec0c575
Merge pull request #104913 from pohly/generic-ephemeral-pvc-protection
kube-controller-manager: properly check generic ephemeral volume feature
2021-09-14 15:26:59 -07:00
Maciej Borsz
f469358a5f Increase QPS in gc controller. 2021-09-14 15:31:11 +02:00
Patrick Ohly
3af6b94b1c kube-controller-manager: properly check generic ephemeral volume feature
Due to a cut-and-paste error in the original implementation in Kubernetes 1.19,
support for generic ephemeral inline volumes in the PVC protection controller
was incorrectly tied to the "storage object in use" feature gate.
2021-09-10 16:48:32 +02:00
Jiahui Feng
8f5771d243 use common controller interface in KCM. 2021-08-25 13:29:03 -07:00
Antonio Ojea
0cd75e8fec run hack/update-netparse-cve.sh 2021-08-20 10:42:09 +02:00
SataQiu
7fa0b9b6c1 add --concurrent-ephemeralvolume-syncs flag for kube-controller-manager 2021-07-25 21:36:57 +08:00
Jan Safranek
219cbc818a Refactor CSI migration plugin manager to get featureGates as a parameter
This allows caller to provide fake ones for testing of various corner cases
(migration on A/D controller disabled while enabled on kubelet).
2021-03-08 13:50:01 +01:00
Swetha Repakula
108fd44f7c Graduate EndpointSlice feature gate to GA 2021-03-06 15:58:47 -08:00
David Eads
8b55bdc405 increase discovery burst for kube-controller-manager 2021-03-03 10:41:34 -05:00
ialidzhikov
bc432124a2 Remove CSINodeInfo feature gate
Signed-off-by: ialidzhikov <i.alidjikov@gmail.com>
2020-12-10 09:58:22 +02:00
Jordan Liggitt
09bdf76b8a Plumb event recorder to garbage collector controller 2020-11-17 10:42:45 -05:00
Haowei Cai
ee9ace14c2 add storage version garbage collector 2020-11-12 16:21:00 -08:00
Khaled Henidak (Kal)
6675eba3ef
dual stack services (#91824)
* api: structure change

* api: defaulting, conversion, and validation

* [FIX] validation: auto remove second ip/family when service changes to SingleStack

* [FIX] api: defaulting, conversion, and validation

* api-server: clusterIPs alloc, printers, storage and strategy

* [FIX] clusterIPs default on read

* alloc: auto remove second ip/family when service changes to SingleStack

* api-server: repair loop handling for clusterIPs

* api-server: force kubernetes default service into single stack

* api-server: tie dualstack feature flag with endpoint feature flag

* controller-manager: feature flag, endpoint, and endpointSlice controllers handling multi family service

* [FIX] controller-manager: feature flag, endpoint, and endpointSlicecontrollers handling multi family service

* kube-proxy: feature-flag, utils, proxier, and meta proxier

* [FIX] kubeproxy: call both proxier at the same time

* kubenet: remove forced pod IP sorting

* kubectl: modify describe to include ClusterIPs, IPFamilies, and IPFamilyPolicy

* e2e: fix tests that depends on IPFamily field AND add dual stack tests

* e2e: fix expected error message for ClusterIP immutability

* add integration tests for dualstack

the third phase of dual stack is a very complex change in the API,
basically it introduces Dual Stack services. Main changes are:

- It pluralizes the Service IPFamily field to IPFamilies,
and removes the singular field.
- It introduces a new field IPFamilyPolicyType that can take
3 values to express the "dual-stack(mad)ness" of the cluster:
SingleStack, PreferDualStack and RequireDualStack
- It pluralizes ClusterIP to ClusterIPs.

The goal is to add coverage to the services API operations,
taking into account the 6 different modes a cluster can have:

- single stack: IP4 or IPv6 (as of today)
- dual stack: IPv4 only, IPv6 only, IPv4 - IPv6, IPv6 - IPv4

* [FIX] add integration tests for dualstack

* generated data

* generated files

Co-authored-by: Antonio Ojea <aojea@redhat.com>
2020-10-26 13:15:59 -07:00
ialidzhikov
3bc560225e Do not assume storageclass is still in-tree after csi migration
Signed-off-by: ialidzhikov <i.alidjikov@gmail.com>
2020-09-19 17:33:19 +03:00
Matthew Cary
f2e23afcf1 Adds filtering of hosts to DialContexts.
The provided DialContext wraps existing clients' DialContext in an attempt to
preserve any existing timeout configuration. In some cases, we may replace
infinite timeouts with golang defaults.

- scaleio: tcp connect/keepalive values changed from 0/15 to 30/30
- storageos: no change
2020-09-18 00:07:32 +00:00
Kubernetes Prow Robot
e7b9453972
Merge pull request #93537 from timuthy/enhancement.move-resourcequota
Move ResourceQuota admission to k8s.io/apiserver lib
2020-09-15 12:26:58 -07:00
Kubernetes Prow Robot
56b9a69d39
Merge pull request #90439 from SataQiu/dual-stack-node-cidr-20200424
Dual-stack: make nodeipam compatible with existing single-stack clusters when dual-stack feature gate become enabled by default
2020-09-10 19:34:14 -07:00
Tim Usner
70d440bc7e Move ResourceQuota admission to k8s.io/apiserver 2020-09-04 14:53:52 +02:00
Alexander Zimmermann
86dc0364f4
Refactored pkg/controllers/resourcequota
* Fixed golint issues
* Removed redundant package import names
* Improved some variables and names

Co-authored-by: Mike Danese <mikedanese@gmail.com>
2020-08-20 14:37:27 +02:00
SataQiu
ec1efc3b79 dual-stack: make nodeipam compatible with existing single-stack clusters when dual-stack feature gate become enabled by default
Signed-off-by: SataQiu <1527062125@qq.com>
2020-07-10 16:34:20 +08:00
Patrick Ohly
ff3e5e06a7 GenericEphemeralVolume: initial implementation
The implementation consists of
- identifying all places where VolumeSource.PersistentVolumeClaim has
  a special meaning and then ensuring that the same code path is taken
  for an ephemeral volume, with the ownership check
- adding a controller that produces the PVCs for each embedded
  VolumeSource.EphemeralVolume
- relaxing the PVC protection controller such that it removes
  the finalizer already before the pod is deleted (only
  if the GenericEphemeralVolume feature is enabled): this is
  needed to break a cycle where foreground deletion of the pod
  blocks on removing the PVC, which waits for deletion of the pod

The controller was derived from the endpointslices controller.
2020-07-09 23:29:24 +02:00
Jayasekhar Konduru
2a89577659 CSI: Modify VolumeAttachment check to use Informer/Cache
Change-Id: Ie70c8b6657c67eefbf13042f36d56ca84a2e42bb
2020-06-11 10:34:09 -07:00
Kubernetes Prow Robot
1f299e7b99
Merge pull request #91574 from cofyc/fix91436
share a common pod indexer among volume controllers
2020-06-10 22:42:56 -07:00
Lukasz Szaszkiewicz
50db32cf8c GC doesn't have to create monitors in the constructor 2020-06-10 14:59:45 +02:00
Andrew Sy Kim
41dc075a85 move pkg/controller/cloud/node_lifecycle_controller.go to k8s.io/cloud-provider/controllers/nodelifecycle for easier external consumption
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-06-08 17:34:01 -04:00
Andrew Sy Kim
99d9dda5a7 move pkg/controller/route to k8s.io/cloud-provider/controllers/route for easier external consumption
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-06-08 17:34:01 -04:00
Andrew Sy Kim
d06cd7ee4f move pkg/controller/service to k8s.io/cloud-provider/controllers/service for easier external consumption
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-06-08 17:34:01 -04:00
Yecheng Fu
8422044f17 sharing a common pod pvc indexer among volume controllers 2020-06-03 14:51:21 +08:00
Davanum Srinivas
442a69c3bd
switch over k/k to use klog v2
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-05-16 07:54:27 -04:00
Andrew Sy Kim
758c25de2f service controller: store feature gate in local fields for better testability
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-05-12 13:40:54 -04:00
skilxn-go
6b8fc8dc5e Move TaintBasedEvictions feature gates to GA 2020-03-09 10:49:00 +08:00
Christian Huffman
c6fd25d100 Updated CSIDriver references 2020-03-06 08:21:26 -05:00
hwdef
dddd631706 cmd/kube-controller-manager: fix staticcheck warning 2019-12-03 11:16:24 +08:00
Anish Ramasekar
128f33b26e
add comments for compatibility 2019-11-15 15:38:06 -08:00
Kubernetes Prow Robot
ded6ee953c
Merge pull request #79993 from aramase/controller-manager-multiple-cidr
Allow multiple node cidr masks in kube-controller-manager
2019-11-14 23:23:42 -08:00
Anish Ramasekar
796faba4ac
Allow multiple node cidr masks in cm
update tests

add comment

amend var name

update comment

add check for empty slice

fix tests

fix mask size in test

review feedback

add ipv4 and ipv6 flag for mask sizes

add to violation exception list

remove import alias

run update-openapi-spec

review feedback

run update-bazel

review feedback

review feedback
2019-11-14 20:04:31 -08:00
Deep Debroy
129f15328b Disable in-tree plugins migrated to CSI
Signed-off-by: Deep Debroy <ddebroy@docker.com>
2019-11-14 17:28:21 -08:00
Michelle Au
fb6dfeb718 Convert attach-detach controller to use v1.CSINode 2019-10-28 13:41:13 -07:00
Jordan Liggitt
0e2f2dde4d Feature-gate CSINode and CSIDriver informer starts 2019-10-24 17:44:25 -04:00
Kubernetes Prow Robot
2c4cba8aa0
Merge pull request #82365 from jkaniuk/pod-gc
Pod GC controller - use node lister
2019-10-24 03:13:06 -07:00
Jacek Kaniuk
39883f08bf Pod GC controller - use node lister 2019-10-23 16:54:54 +02:00
draveness
1163a1d51e feat: update taint nodes by condition to GA 2019-10-19 09:17:41 +08:00
wojtekt
cf9203501e Swtich nodelifecyclecontroller to coordination/v1 2019-10-16 10:59:02 +02:00
Yassine TIJANI
c1487840bc move util/metrics to component-base
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>
2019-10-08 14:42:31 +02:00
David Zhu
92cb06a2e7 Refactor CSI Translation Library into a struct that is injected into various components to simplify unit testing in future 2019-09-27 12:59:53 -07:00
Khaled Henidak(Kal)
313a5c5734 phase 2: ipam filter secondary service cidr 2019-08-28 15:59:43 +00:00
Maciej Borsz
2fae3cbcfe Add simple batching to endpoints controller 2019-07-24 11:36:53 +02:00
Clayton Coleman
d631f9b7e9
Use metadata informers instead of dynamic informers in controller manager
All controllers in controller-manager that deal with objects generically
work with those objects without needing the full object. Update the GC
and quota controller to use PartialObjectMetadata input objects which
is faster and more efficient.
2019-07-11 12:18:52 -04:00
Clayton Coleman
637cc83341
Switch the garbage collector to use metadata client and protobuf 2019-07-11 12:18:51 -04:00
Clayton Coleman
50fd47258d
Switch the namespace controller to use the metadata client
The metadata client uses protobuf and returns only a subset of object
data (the metadata) which allows operations that act only on objects
generically to work much faster. Use the metadata client in the
namespace controller to reduce the amount of work the namespace controller
has to do in large namespaces.
2019-07-10 14:31:18 -04:00
Khaled Henidak(Kal)
a51b8ce456 route controller + azure v6 routes 2019-07-02 15:39:06 +00:00
Khaled Henidak(Kal)
584d7103e2 node ipam controller for ipv6 dualstack 2019-07-02 15:39:06 +00:00
Kubernetes Prow Robot
05df640f33
Merge pull request #77994 from gnufied/csi-resize-migration
Handle CSI volume resize migration.
2019-05-29 21:28:43 -07:00
Yu Liao
05ebe91277 Switched to use dynamic shared informer for Garbage Collector. 2019-05-17 15:41:36 -07:00
Hemant Kumar
405d33eae4 Add code to handle in-tree to CSI migration for resizing 2019-05-17 10:57:44 -04:00
Xing Yang
000ab86788 Move CSIDriver Lister to the controller 2019-04-05 12:20:11 -07:00
zhouhaibing089
f58c2ae62d resourcequota: use dynamic informer
The resource quota controller should use a dynamic informer so it
can create informer for custom resources.
2019-03-27 11:08:24 -07:00
David Zhu
7d2f4e97b8 Add ADC Fallback if Node doesn't have driver installed 2019-03-07 14:47:38 -08:00
Kubernetes Prow Robot
6c31101257
Merge pull request #74283 from xing-yang/csi_crd_controller
CSINodeInfo and CSIDriver Controller Changes
2019-03-05 04:44:42 -08:00
Xing Yang
6265f4f78c CSINodeInfo/CSIDriver controller changes
This is the 2nd PR to move CSINodeInfo/CSIDriver APIs to
v1beta1 core storage APIs. It includes controller side changes.
It depends on the PR with API changes:
https://github.com/kubernetes/kubernetes/pull/73883
2019-03-04 16:41:58 -08:00
vanduc95
e580a9e5fa fix error string should not be capitalized 2019-02-26 10:10:45 +07:00
Chao Xu
3f21ca029a changing imports 2019-02-12 10:06:04 -08:00
Kubernetes Prow Robot
664aafbf5c
Merge pull request #73337 from yuwenma/crashloop-controllers
[Mitigate KCM CrashLooping] Add unittests for controllers' Init func
2019-02-04 09:36:20 -08:00
yuwenma
e6ab3cfc54 [Mitigate KCM CrashLooping] Add unittests for controllers' Init function. 2019-02-01 14:11:20 -08:00
Humble Chirammal
9e638676e9 Remove explicit nil initialization and correct error string.
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2019-01-18 09:29:25 +05:30
Kubernetes Prow Robot
3b0b74f5b1
Merge pull request #72764 from andrewsykim/cloud-node-lifecycle-controller-rbac
Use node-controller cluster role for node-lifecycle and cloud-node-lifecycle controller
2019-01-14 16:44:57 -08:00
andrewsykim
426714c245 use node-controller cluster role for node e-lifecycle and cloud-node-lifecycle controller 2019-01-14 15:00:21 -05:00
Humble Devassy Chirammal
a2daf66a0d Use better error var name in kube-proxy code (#72849)
* Use better error var name  in  kube-proxy code

Signed-off-by: hchiramm <hchiramm@redhat.com>

* Unexport ErrReadOnlySysFS error variable

Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2019-01-14 08:00:11 -08:00
Weibin Lin
842bd1e1ec update deployment, daemonset, replicaset, statefulset to apps/v1 2018-12-19 10:46:45 -05:00
andrewsykim
5329f09663 consolidate node deletion logic between node lifecycle and cloud node controller 2018-12-03 13:33:53 -05:00
Davanum Srinivas
954996e231
Move from glog to klog
- Move from the old github.com/golang/glog to k8s.io/klog
- klog as explicit InitFlags() so we add them as necessary
- we update the other repositories that we vendor that made a similar
change from glog to klog
  * github.com/kubernetes/repo-infra
  * k8s.io/gengo/
  * k8s.io/kube-openapi/
  * github.com/google/cadvisor
- Entirely remove all references to glog
- Fix some tests by explicit InitFlags in their init() methods

Change-Id: I92db545ff36fcec83afe98f550c9e630098b3135
2018-11-10 07:50:31 -05:00
Zhen Wang
e35d808aa2 NodeLifecycleController treats node lease renewal as a heartbeat signal 2018-10-11 16:07:15 -07:00
k8s-ci-robot
0805860dba
Merge pull request #67870 from yue9944882/refactor/externalize-resource-quota-admission-controller
Externalize resource quota admission controller & controller reconciliation
2018-09-25 02:41:40 -07:00
Cheng Xing
8555408f42 Removing CRD installation from attach detach controller 2018-09-18 14:25:15 -07:00
Janet Kuo
cbdc9b671f Make number of workers configurable 2018-09-04 14:21:14 -07:00
Janet Kuo
5186807587 Add TTL GC controller 2018-09-04 13:11:18 -07:00
Lucas Käldström
8aaa527d35
Fixup cmd/*controller-manager code after struct changes. Co-authored by @stewart-yu 2018-09-02 14:10:46 +03:00
saad-ali
fdeb895d25 Automatically install CRDs during controller init 2018-08-31 12:25:59 -07:00
Jan Safranek
7d673cb8f0 Pass new CSI API Client and informer to Volume Plugins 2018-08-31 12:25:59 -07:00
yue9944882
a4f33a6a9f align imports for cmd 2018-08-27 21:50:15 +08:00
David Eads
fb7d137ea2 add debug handler capability for individual controllers 2018-07-26 13:24:36 -04:00
lichuqiang
bccc8fe979 Provision interface change 2018-06-05 16:35:16 +08:00