diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index 9ded5a0..ad08a28 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -540,19 +540,19 @@ }, { "ImportPath": "k8s.io/api", - "Rev": "70c9750ce4ed" + "Rev": "3d54c2c5e4d4" }, { "ImportPath": "k8s.io/apimachinery", - "Rev": "8a773a02ba6b" + "Rev": "2a468d8caa46" }, { "ImportPath": "k8s.io/client-go", - "Rev": "bdcd046d6cbf" + "Rev": "cf11d9b71ab7" }, { "ImportPath": "k8s.io/component-base", - "Rev": "df61fd08516e" + "Rev": "558438140e7a" }, { "ImportPath": "k8s.io/gengo", diff --git a/config/v1alpha1/types.go b/config/v1alpha1/types.go index f99980b..8ee6d64 100644 --- a/config/v1alpha1/types.go +++ b/config/v1alpha1/types.go @@ -114,6 +114,9 @@ type KubeControllerManagerConfiguration struct { // EndpointSliceControllerConfiguration holds configuration for // EndpointSliceController related features. EndpointSliceController EndpointSliceControllerConfiguration + // EndpointSliceMirroringControllerConfiguration holds configuration for + // EndpointSliceMirroringController related features. + EndpointSliceMirroringController EndpointSliceMirroringControllerConfiguration // GarbageCollectorControllerConfiguration holds configuration for // GarbageCollectorController related features. GarbageCollectorController GarbageCollectorControllerConfiguration @@ -319,6 +322,27 @@ type EndpointSliceControllerConfiguration struct { EndpointUpdatesBatchPeriod metav1.Duration } +// EndpointSliceMirroringControllerConfiguration contains elements describing +// EndpointSliceMirroringController. +type EndpointSliceMirroringControllerConfiguration struct { + // mirroringConcurrentServiceEndpointSyncs is the number of service endpoint + // syncing operations that will be done concurrently. Larger number = faster + // endpoint slice updating, but more CPU (and network) load. + MirroringConcurrentServiceEndpointSyncs int32 + + // mirroringMaxEndpointsPerSubset is the maximum number of endpoints that + // will be mirrored to an EndpointSlice for an EndpointSubset. + MirroringMaxEndpointsPerSubset int32 + + // mirroringEndpointUpdatesBatchPeriod can be used to batch EndpointSlice + // updates. All updates triggered by EndpointSlice changes will be delayed + // by up to 'mirroringEndpointUpdatesBatchPeriod'. If other addresses in the + // same Endpoints resource change in that period, they will be batched to a + // single EndpointSlice update. Default 0 value means that each Endpoints + // update triggers an EndpointSlice update. + MirroringEndpointUpdatesBatchPeriod metav1.Duration +} + // GarbageCollectorControllerConfiguration contains elements describing GarbageCollectorController. type GarbageCollectorControllerConfiguration struct { // enables the generic garbage collector. MUST be synced with the diff --git a/config/v1alpha1/zz_generated.deepcopy.go b/config/v1alpha1/zz_generated.deepcopy.go index afbba17..623ed12 100644 --- a/config/v1alpha1/zz_generated.deepcopy.go +++ b/config/v1alpha1/zz_generated.deepcopy.go @@ -157,6 +157,23 @@ func (in *EndpointSliceControllerConfiguration) DeepCopy() *EndpointSliceControl return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EndpointSliceMirroringControllerConfiguration) DeepCopyInto(out *EndpointSliceMirroringControllerConfiguration) { + *out = *in + out.MirroringEndpointUpdatesBatchPeriod = in.MirroringEndpointUpdatesBatchPeriod + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointSliceMirroringControllerConfiguration. +func (in *EndpointSliceMirroringControllerConfiguration) DeepCopy() *EndpointSliceMirroringControllerConfiguration { + if in == nil { + return nil + } + out := new(EndpointSliceMirroringControllerConfiguration) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *GarbageCollectorControllerConfiguration) DeepCopyInto(out *GarbageCollectorControllerConfiguration) { *out = *in @@ -307,6 +324,7 @@ func (in *KubeControllerManagerConfiguration) DeepCopyInto(out *KubeControllerMa out.DeprecatedController = in.DeprecatedController out.EndpointController = in.EndpointController out.EndpointSliceController = in.EndpointSliceController + out.EndpointSliceMirroringController = in.EndpointSliceMirroringController in.GarbageCollectorController.DeepCopyInto(&out.GarbageCollectorController) in.HPAController.DeepCopyInto(&out.HPAController) out.JobController = in.JobController diff --git a/go.mod b/go.mod index c676dac..ff60257 100644 --- a/go.mod +++ b/go.mod @@ -6,13 +6,12 @@ go 1.13 require ( k8s.io/apimachinery v0.0.0 - k8s.io/component-base v0.0.0 + k8s.io/component-base v0.0.0-20200629164644-558438140e7a ) replace ( - k8s.io/api => ../api - k8s.io/apimachinery => ../apimachinery - k8s.io/client-go => ../client-go - k8s.io/component-base => ../component-base - k8s.io/kube-controller-manager => ../kube-controller-manager + k8s.io/api => k8s.io/api v0.0.0-20200710175611-3d54c2c5e4d4 + k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20200709170343-2a468d8caa46 + k8s.io/client-go => k8s.io/client-go v0.0.0-20200709170953-cf11d9b71ab7 + k8s.io/component-base => k8s.io/component-base v0.0.0-20200629164644-558438140e7a ) diff --git a/go.sum b/go.sum index 9ab16f1..1bd51f6 100644 --- a/go.sum +++ b/go.sum @@ -352,6 +352,10 @@ honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +k8s.io/api v0.0.0-20200710175611-3d54c2c5e4d4/go.mod h1:k9aZpMcgg/E7OmKDCPRlyut8Asqbv6G2h+8byeS4d/E= +k8s.io/apimachinery v0.0.0-20200709170343-2a468d8caa46/go.mod h1:EjWiYOPi+BZennZ5pGa3JLkQ+znhEOodGy/+umjiLDU= +k8s.io/client-go v0.0.0-20200709170953-cf11d9b71ab7/go.mod h1:FtCso/qJj5wuFWDAKCISjGDjJHrTHf7nwTkERLsat8k= +k8s.io/component-base v0.0.0-20200629164644-558438140e7a/go.mod h1:O5CdNEm8wAOfMMhzPQMN9eYqQtsUtboDrVIObR/vPzg= k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/klog/v2 v2.0.0 h1:Foj74zO6RbjjP4hBEKjnYtjjAhGg4jNynUdYF6fJrok= k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE=