mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-22 11:21:47 +00:00
Merge pull request #102981 from SataQiu/add-ephemeral-config-v1alpha1
Add --concurrent-ephemeralvolume-syncs flag for kube-controller-manager
This commit is contained in:
commit
7ab3e3c8c3
@ -528,6 +528,7 @@ API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,E
|
|||||||
API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,EndpointSliceMirroringControllerConfiguration,MirroringConcurrentServiceEndpointSyncs
|
API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,EndpointSliceMirroringControllerConfiguration,MirroringConcurrentServiceEndpointSyncs
|
||||||
API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,EndpointSliceMirroringControllerConfiguration,MirroringEndpointUpdatesBatchPeriod
|
API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,EndpointSliceMirroringControllerConfiguration,MirroringEndpointUpdatesBatchPeriod
|
||||||
API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,EndpointSliceMirroringControllerConfiguration,MirroringMaxEndpointsPerSubset
|
API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,EndpointSliceMirroringControllerConfiguration,MirroringMaxEndpointsPerSubset
|
||||||
|
API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,EphemeralVolumeControllerConfiguration,ConcurrentEphemeralVolumeSyncs
|
||||||
API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,GarbageCollectorControllerConfiguration,ConcurrentGCSyncs
|
API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,GarbageCollectorControllerConfiguration,ConcurrentGCSyncs
|
||||||
API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,GarbageCollectorControllerConfiguration,EnableGarbageCollector
|
API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,GarbageCollectorControllerConfiguration,EnableGarbageCollector
|
||||||
API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,GarbageCollectorControllerConfiguration,GCIgnoredResources
|
API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,GarbageCollectorControllerConfiguration,GCIgnoredResources
|
||||||
@ -550,6 +551,7 @@ API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,K
|
|||||||
API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeControllerManagerConfiguration,EndpointController
|
API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeControllerManagerConfiguration,EndpointController
|
||||||
API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeControllerManagerConfiguration,EndpointSliceController
|
API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeControllerManagerConfiguration,EndpointSliceController
|
||||||
API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeControllerManagerConfiguration,EndpointSliceMirroringController
|
API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeControllerManagerConfiguration,EndpointSliceMirroringController
|
||||||
|
API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeControllerManagerConfiguration,EphemeralVolumeController
|
||||||
API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeControllerManagerConfiguration,GarbageCollectorController
|
API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeControllerManagerConfiguration,GarbageCollectorController
|
||||||
API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeControllerManagerConfiguration,Generic
|
API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeControllerManagerConfiguration,Generic
|
||||||
API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeControllerManagerConfiguration,HPAController
|
API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeControllerManagerConfiguration,HPAController
|
||||||
|
@ -401,8 +401,7 @@ func startEphemeralVolumeController(ctx ControllerContext) (http.Handler, bool,
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, true, fmt.Errorf("failed to start ephemeral volume controller: %v", err)
|
return nil, true, fmt.Errorf("failed to start ephemeral volume controller: %v", err)
|
||||||
}
|
}
|
||||||
// TODO (before beta at the latest): make this configurable similar to the EndpointController
|
go ephemeralController.Run(int(ctx.ComponentConfig.EphemeralVolumeController.ConcurrentEphemeralVolumeSyncs), ctx.Stop)
|
||||||
go ephemeralController.Run(1 /* int(ctx.ComponentConfig.EphemeralController.ConcurrentEphemeralVolumeSyncs) */, ctx.Stop)
|
|
||||||
return nil, true, nil
|
return nil, true, nil
|
||||||
}
|
}
|
||||||
return nil, false, nil
|
return nil, false, nil
|
||||||
|
@ -0,0 +1,63 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2021 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package options
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"github.com/spf13/pflag"
|
||||||
|
|
||||||
|
ephemeralvolumeconfig "k8s.io/kubernetes/pkg/controller/volume/ephemeral/config"
|
||||||
|
)
|
||||||
|
|
||||||
|
// EphemeralVolumeControllerOptions holds the EphemeralVolumeController options.
|
||||||
|
type EphemeralVolumeControllerOptions struct {
|
||||||
|
*ephemeralvolumeconfig.EphemeralVolumeControllerConfiguration
|
||||||
|
}
|
||||||
|
|
||||||
|
// AddFlags adds flags related to EphemeralVolumeController for controller manager to the specified FlagSet.
|
||||||
|
func (o *EphemeralVolumeControllerOptions) AddFlags(fs *pflag.FlagSet) {
|
||||||
|
if o == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
fs.Int32Var(&o.ConcurrentEphemeralVolumeSyncs, "concurrent-ephemeralvolume-syncs", o.ConcurrentEphemeralVolumeSyncs, "The number of ephemeral volume syncing operations that will be done concurrently. Larger number = faster ephemeral volume updating, but more CPU (and network) load")
|
||||||
|
}
|
||||||
|
|
||||||
|
// ApplyTo fills up EphemeralVolumeController config with options.
|
||||||
|
func (o *EphemeralVolumeControllerOptions) ApplyTo(cfg *ephemeralvolumeconfig.EphemeralVolumeControllerConfiguration) error {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
cfg.ConcurrentEphemeralVolumeSyncs = o.ConcurrentEphemeralVolumeSyncs
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Validate checks validation of EphemeralVolumeControllerOptions.
|
||||||
|
func (o *EphemeralVolumeControllerOptions) Validate() []error {
|
||||||
|
if o == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
errs := []error{}
|
||||||
|
if o.ConcurrentEphemeralVolumeSyncs < 1 {
|
||||||
|
errs = append(errs, fmt.Errorf("concurrent-ephemeralvolume-syncs must be greater than 0, but got %d", o.ConcurrentEphemeralVolumeSyncs))
|
||||||
|
}
|
||||||
|
return errs
|
||||||
|
}
|
@ -70,6 +70,7 @@ type KubeControllerManagerOptions struct {
|
|||||||
EndpointController *EndpointControllerOptions
|
EndpointController *EndpointControllerOptions
|
||||||
EndpointSliceController *EndpointSliceControllerOptions
|
EndpointSliceController *EndpointSliceControllerOptions
|
||||||
EndpointSliceMirroringController *EndpointSliceMirroringControllerOptions
|
EndpointSliceMirroringController *EndpointSliceMirroringControllerOptions
|
||||||
|
EphemeralVolumeController *EphemeralVolumeControllerOptions
|
||||||
GarbageCollectorController *GarbageCollectorControllerOptions
|
GarbageCollectorController *GarbageCollectorControllerOptions
|
||||||
HPAController *HPAControllerOptions
|
HPAController *HPAControllerOptions
|
||||||
JobController *JobControllerOptions
|
JobController *JobControllerOptions
|
||||||
@ -136,6 +137,9 @@ func NewKubeControllerManagerOptions() (*KubeControllerManagerOptions, error) {
|
|||||||
EndpointSliceMirroringController: &EndpointSliceMirroringControllerOptions{
|
EndpointSliceMirroringController: &EndpointSliceMirroringControllerOptions{
|
||||||
&componentConfig.EndpointSliceMirroringController,
|
&componentConfig.EndpointSliceMirroringController,
|
||||||
},
|
},
|
||||||
|
EphemeralVolumeController: &EphemeralVolumeControllerOptions{
|
||||||
|
&componentConfig.EphemeralVolumeController,
|
||||||
|
},
|
||||||
GarbageCollectorController: &GarbageCollectorControllerOptions{
|
GarbageCollectorController: &GarbageCollectorControllerOptions{
|
||||||
&componentConfig.GarbageCollectorController,
|
&componentConfig.GarbageCollectorController,
|
||||||
},
|
},
|
||||||
@ -252,6 +256,7 @@ func (s *KubeControllerManagerOptions) Flags(allControllers []string, disabledBy
|
|||||||
s.EndpointController.AddFlags(fss.FlagSet("endpoint controller"))
|
s.EndpointController.AddFlags(fss.FlagSet("endpoint controller"))
|
||||||
s.EndpointSliceController.AddFlags(fss.FlagSet("endpointslice controller"))
|
s.EndpointSliceController.AddFlags(fss.FlagSet("endpointslice controller"))
|
||||||
s.EndpointSliceMirroringController.AddFlags(fss.FlagSet("endpointslicemirroring controller"))
|
s.EndpointSliceMirroringController.AddFlags(fss.FlagSet("endpointslicemirroring controller"))
|
||||||
|
s.EphemeralVolumeController.AddFlags(fss.FlagSet("ephemeralvolume controller"))
|
||||||
s.GarbageCollectorController.AddFlags(fss.FlagSet("garbagecollector controller"))
|
s.GarbageCollectorController.AddFlags(fss.FlagSet("garbagecollector controller"))
|
||||||
s.HPAController.AddFlags(fss.FlagSet("horizontalpodautoscaling controller"))
|
s.HPAController.AddFlags(fss.FlagSet("horizontalpodautoscaling controller"))
|
||||||
s.JobController.AddFlags(fss.FlagSet("job controller"))
|
s.JobController.AddFlags(fss.FlagSet("job controller"))
|
||||||
@ -312,6 +317,9 @@ func (s *KubeControllerManagerOptions) ApplyTo(c *kubecontrollerconfig.Config) e
|
|||||||
if err := s.EndpointSliceMirroringController.ApplyTo(&c.ComponentConfig.EndpointSliceMirroringController); err != nil {
|
if err := s.EndpointSliceMirroringController.ApplyTo(&c.ComponentConfig.EndpointSliceMirroringController); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
if err := s.EphemeralVolumeController.ApplyTo(&c.ComponentConfig.EphemeralVolumeController); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
if err := s.GarbageCollectorController.ApplyTo(&c.ComponentConfig.GarbageCollectorController); err != nil {
|
if err := s.GarbageCollectorController.ApplyTo(&c.ComponentConfig.GarbageCollectorController); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -386,6 +394,7 @@ func (s *KubeControllerManagerOptions) Validate(allControllers []string, disable
|
|||||||
errs = append(errs, s.EndpointController.Validate()...)
|
errs = append(errs, s.EndpointController.Validate()...)
|
||||||
errs = append(errs, s.EndpointSliceController.Validate()...)
|
errs = append(errs, s.EndpointSliceController.Validate()...)
|
||||||
errs = append(errs, s.EndpointSliceMirroringController.Validate()...)
|
errs = append(errs, s.EndpointSliceMirroringController.Validate()...)
|
||||||
|
errs = append(errs, s.EphemeralVolumeController.Validate()...)
|
||||||
errs = append(errs, s.GarbageCollectorController.Validate()...)
|
errs = append(errs, s.GarbageCollectorController.Validate()...)
|
||||||
errs = append(errs, s.HPAController.Validate()...)
|
errs = append(errs, s.HPAController.Validate()...)
|
||||||
errs = append(errs, s.JobController.Validate()...)
|
errs = append(errs, s.JobController.Validate()...)
|
||||||
|
@ -59,6 +59,7 @@ import (
|
|||||||
statefulsetconfig "k8s.io/kubernetes/pkg/controller/statefulset/config"
|
statefulsetconfig "k8s.io/kubernetes/pkg/controller/statefulset/config"
|
||||||
ttlafterfinishedconfig "k8s.io/kubernetes/pkg/controller/ttlafterfinished/config"
|
ttlafterfinishedconfig "k8s.io/kubernetes/pkg/controller/ttlafterfinished/config"
|
||||||
attachdetachconfig "k8s.io/kubernetes/pkg/controller/volume/attachdetach/config"
|
attachdetachconfig "k8s.io/kubernetes/pkg/controller/volume/attachdetach/config"
|
||||||
|
ephemeralvolumeconfig "k8s.io/kubernetes/pkg/controller/volume/ephemeral/config"
|
||||||
persistentvolumeconfig "k8s.io/kubernetes/pkg/controller/volume/persistentvolume/config"
|
persistentvolumeconfig "k8s.io/kubernetes/pkg/controller/volume/persistentvolume/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -83,6 +84,7 @@ var args = []string{
|
|||||||
"--concurrent-deployment-syncs=10",
|
"--concurrent-deployment-syncs=10",
|
||||||
"--concurrent-statefulset-syncs=15",
|
"--concurrent-statefulset-syncs=15",
|
||||||
"--concurrent-endpoint-syncs=10",
|
"--concurrent-endpoint-syncs=10",
|
||||||
|
"--concurrent-ephemeralvolume-syncs=10",
|
||||||
"--concurrent-service-endpoint-syncs=10",
|
"--concurrent-service-endpoint-syncs=10",
|
||||||
"--concurrent-gc-syncs=30",
|
"--concurrent-gc-syncs=30",
|
||||||
"--concurrent-namespace-syncs=20",
|
"--concurrent-namespace-syncs=20",
|
||||||
@ -288,6 +290,11 @@ func TestAddFlags(t *testing.T) {
|
|||||||
MirroringMaxEndpointsPerSubset: 1000,
|
MirroringMaxEndpointsPerSubset: 1000,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
EphemeralVolumeController: &EphemeralVolumeControllerOptions{
|
||||||
|
&ephemeralvolumeconfig.EphemeralVolumeControllerConfiguration{
|
||||||
|
ConcurrentEphemeralVolumeSyncs: 10,
|
||||||
|
},
|
||||||
|
},
|
||||||
GarbageCollectorController: &GarbageCollectorControllerOptions{
|
GarbageCollectorController: &GarbageCollectorControllerOptions{
|
||||||
&garbagecollectorconfig.GarbageCollectorControllerConfiguration{
|
&garbagecollectorconfig.GarbageCollectorControllerConfiguration{
|
||||||
ConcurrentGCSyncs: 30,
|
ConcurrentGCSyncs: 30,
|
||||||
@ -545,6 +552,9 @@ func TestApplyTo(t *testing.T) {
|
|||||||
MirroringConcurrentServiceEndpointSyncs: 2,
|
MirroringConcurrentServiceEndpointSyncs: 2,
|
||||||
MirroringMaxEndpointsPerSubset: 1000,
|
MirroringMaxEndpointsPerSubset: 1000,
|
||||||
},
|
},
|
||||||
|
EphemeralVolumeController: ephemeralvolumeconfig.EphemeralVolumeControllerConfiguration{
|
||||||
|
ConcurrentEphemeralVolumeSyncs: 10,
|
||||||
|
},
|
||||||
GarbageCollectorController: garbagecollectorconfig.GarbageCollectorControllerConfiguration{
|
GarbageCollectorController: garbagecollectorconfig.GarbageCollectorControllerConfiguration{
|
||||||
ConcurrentGCSyncs: 30,
|
ConcurrentGCSyncs: 30,
|
||||||
GCIgnoredResources: []garbagecollectorconfig.GroupResource{
|
GCIgnoredResources: []garbagecollectorconfig.GroupResource{
|
||||||
|
@ -42,6 +42,7 @@ import (
|
|||||||
statefulsetconfig "k8s.io/kubernetes/pkg/controller/statefulset/config"
|
statefulsetconfig "k8s.io/kubernetes/pkg/controller/statefulset/config"
|
||||||
ttlafterfinishedconfig "k8s.io/kubernetes/pkg/controller/ttlafterfinished/config"
|
ttlafterfinishedconfig "k8s.io/kubernetes/pkg/controller/ttlafterfinished/config"
|
||||||
attachdetachconfig "k8s.io/kubernetes/pkg/controller/volume/attachdetach/config"
|
attachdetachconfig "k8s.io/kubernetes/pkg/controller/volume/attachdetach/config"
|
||||||
|
ephemeralvolumeconfig "k8s.io/kubernetes/pkg/controller/volume/ephemeral/config"
|
||||||
persistentvolumeconfig "k8s.io/kubernetes/pkg/controller/volume/persistentvolume/config"
|
persistentvolumeconfig "k8s.io/kubernetes/pkg/controller/volume/persistentvolume/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -84,6 +85,9 @@ type KubeControllerManagerConfiguration struct {
|
|||||||
// EndpointSliceMirroringControllerConfiguration holds configuration for
|
// EndpointSliceMirroringControllerConfiguration holds configuration for
|
||||||
// EndpointSliceMirroringController related features.
|
// EndpointSliceMirroringController related features.
|
||||||
EndpointSliceMirroringController endpointslicemirroringconfig.EndpointSliceMirroringControllerConfiguration
|
EndpointSliceMirroringController endpointslicemirroringconfig.EndpointSliceMirroringControllerConfiguration
|
||||||
|
// EphemeralVolumeControllerConfiguration holds configuration for EphemeralVolumeController
|
||||||
|
// related features.
|
||||||
|
EphemeralVolumeController ephemeralvolumeconfig.EphemeralVolumeControllerConfiguration
|
||||||
// GarbageCollectorControllerConfiguration holds configuration for
|
// GarbageCollectorControllerConfiguration holds configuration for
|
||||||
// GarbageCollectorController related features.
|
// GarbageCollectorController related features.
|
||||||
GarbageCollectorController garbagecollectorconfig.GarbageCollectorControllerConfiguration
|
GarbageCollectorController garbagecollectorconfig.GarbageCollectorControllerConfiguration
|
||||||
|
@ -42,6 +42,7 @@ import (
|
|||||||
statefulsetconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/statefulset/config/v1alpha1"
|
statefulsetconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/statefulset/config/v1alpha1"
|
||||||
ttlafterfinishedconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/ttlafterfinished/config/v1alpha1"
|
ttlafterfinishedconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/ttlafterfinished/config/v1alpha1"
|
||||||
attachdetachconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/volume/attachdetach/config/v1alpha1"
|
attachdetachconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/volume/attachdetach/config/v1alpha1"
|
||||||
|
ephemeralvolumeconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/volume/ephemeral/config/v1alpha1"
|
||||||
persistentvolumeconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/volume/persistentvolume/config/v1alpha1"
|
persistentvolumeconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/volume/persistentvolume/config/v1alpha1"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -81,6 +82,8 @@ func SetDefaults_KubeControllerManagerConfiguration(obj *kubectrlmgrconfigv1alph
|
|||||||
endpointsliceconfigv1alpha1.RecommendedDefaultEndpointSliceControllerConfiguration(&obj.EndpointSliceController)
|
endpointsliceconfigv1alpha1.RecommendedDefaultEndpointSliceControllerConfiguration(&obj.EndpointSliceController)
|
||||||
// Use the default RecommendedDefaultEndpointSliceMirroringControllerConfiguration options
|
// Use the default RecommendedDefaultEndpointSliceMirroringControllerConfiguration options
|
||||||
endpointslicemirroringconfigv1alpha1.RecommendedDefaultEndpointSliceMirroringControllerConfiguration(&obj.EndpointSliceMirroringController)
|
endpointslicemirroringconfigv1alpha1.RecommendedDefaultEndpointSliceMirroringControllerConfiguration(&obj.EndpointSliceMirroringController)
|
||||||
|
// Use the default RecommendedDefaultEphemeralVolumeControllerConfiguration options
|
||||||
|
ephemeralvolumeconfigv1alpha1.RecommendedDefaultEphemeralVolumeControllerConfiguration(&obj.EphemeralVolumeController)
|
||||||
// Use the default RecommendedDefaultGenericControllerManagerConfiguration options
|
// Use the default RecommendedDefaultGenericControllerManagerConfiguration options
|
||||||
garbagecollectorconfigv1alpha1.RecommendedDefaultGarbageCollectorControllerConfiguration(&obj.GarbageCollectorController)
|
garbagecollectorconfigv1alpha1.RecommendedDefaultGarbageCollectorControllerConfiguration(&obj.GarbageCollectorController)
|
||||||
// Use the default RecommendedDefaultJobControllerConfiguration options
|
// Use the default RecommendedDefaultJobControllerConfiguration options
|
||||||
|
@ -41,6 +41,7 @@ limitations under the License.
|
|||||||
// +k8s:conversion-gen=k8s.io/kubernetes/pkg/controller/statefulset/config/v1alpha1
|
// +k8s:conversion-gen=k8s.io/kubernetes/pkg/controller/statefulset/config/v1alpha1
|
||||||
// +k8s:conversion-gen=k8s.io/kubernetes/pkg/controller/ttlafterfinished/config/v1alpha1
|
// +k8s:conversion-gen=k8s.io/kubernetes/pkg/controller/ttlafterfinished/config/v1alpha1
|
||||||
// +k8s:conversion-gen=k8s.io/kubernetes/pkg/controller/volume/attachdetach/config/v1alpha1
|
// +k8s:conversion-gen=k8s.io/kubernetes/pkg/controller/volume/attachdetach/config/v1alpha1
|
||||||
|
// +k8s:conversion-gen=k8s.io/kubernetes/pkg/controller/volume/ephemeral/config/v1alpha1
|
||||||
// +k8s:conversion-gen=k8s.io/kubernetes/pkg/controller/volume/persistentvolume/config/v1alpha1
|
// +k8s:conversion-gen=k8s.io/kubernetes/pkg/controller/volume/persistentvolume/config/v1alpha1
|
||||||
// +k8s:conversion-gen-external-types=k8s.io/kube-controller-manager/config/v1alpha1
|
// +k8s:conversion-gen-external-types=k8s.io/kube-controller-manager/config/v1alpha1
|
||||||
// +k8s:defaulter-gen=TypeMeta
|
// +k8s:defaulter-gen=TypeMeta
|
||||||
|
@ -50,6 +50,7 @@ import (
|
|||||||
statefulsetconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/statefulset/config/v1alpha1"
|
statefulsetconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/statefulset/config/v1alpha1"
|
||||||
ttlafterfinishedconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/ttlafterfinished/config/v1alpha1"
|
ttlafterfinishedconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/ttlafterfinished/config/v1alpha1"
|
||||||
attachdetachconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/volume/attachdetach/config/v1alpha1"
|
attachdetachconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/volume/attachdetach/config/v1alpha1"
|
||||||
|
ephemeralconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/volume/ephemeral/config/v1alpha1"
|
||||||
persistentvolumeconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/volume/persistentvolume/config/v1alpha1"
|
persistentvolumeconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/volume/persistentvolume/config/v1alpha1"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -173,6 +174,9 @@ func autoConvert_v1alpha1_KubeControllerManagerConfiguration_To_config_KubeContr
|
|||||||
if err := endpointslicemirroringconfigv1alpha1.Convert_v1alpha1_EndpointSliceMirroringControllerConfiguration_To_config_EndpointSliceMirroringControllerConfiguration(&in.EndpointSliceMirroringController, &out.EndpointSliceMirroringController, s); err != nil {
|
if err := endpointslicemirroringconfigv1alpha1.Convert_v1alpha1_EndpointSliceMirroringControllerConfiguration_To_config_EndpointSliceMirroringControllerConfiguration(&in.EndpointSliceMirroringController, &out.EndpointSliceMirroringController, s); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
if err := ephemeralconfigv1alpha1.Convert_v1alpha1_EphemeralVolumeControllerConfiguration_To_config_EphemeralVolumeControllerConfiguration(&in.EphemeralVolumeController, &out.EphemeralVolumeController, s); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
if err := garbagecollectorconfigv1alpha1.Convert_v1alpha1_GarbageCollectorControllerConfiguration_To_config_GarbageCollectorControllerConfiguration(&in.GarbageCollectorController, &out.GarbageCollectorController, s); err != nil {
|
if err := garbagecollectorconfigv1alpha1.Convert_v1alpha1_GarbageCollectorControllerConfiguration_To_config_GarbageCollectorControllerConfiguration(&in.GarbageCollectorController, &out.GarbageCollectorController, s); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -260,6 +264,9 @@ func autoConvert_config_KubeControllerManagerConfiguration_To_v1alpha1_KubeContr
|
|||||||
if err := endpointslicemirroringconfigv1alpha1.Convert_config_EndpointSliceMirroringControllerConfiguration_To_v1alpha1_EndpointSliceMirroringControllerConfiguration(&in.EndpointSliceMirroringController, &out.EndpointSliceMirroringController, s); err != nil {
|
if err := endpointslicemirroringconfigv1alpha1.Convert_config_EndpointSliceMirroringControllerConfiguration_To_v1alpha1_EndpointSliceMirroringControllerConfiguration(&in.EndpointSliceMirroringController, &out.EndpointSliceMirroringController, s); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
if err := ephemeralconfigv1alpha1.Convert_config_EphemeralVolumeControllerConfiguration_To_v1alpha1_EphemeralVolumeControllerConfiguration(&in.EphemeralVolumeController, &out.EphemeralVolumeController, s); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
if err := garbagecollectorconfigv1alpha1.Convert_config_GarbageCollectorControllerConfiguration_To_v1alpha1_GarbageCollectorControllerConfiguration(&in.GarbageCollectorController, &out.GarbageCollectorController, s); err != nil {
|
if err := garbagecollectorconfigv1alpha1.Convert_config_GarbageCollectorControllerConfiguration_To_v1alpha1_GarbageCollectorControllerConfiguration(&in.GarbageCollectorController, &out.GarbageCollectorController, s); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -55,6 +55,7 @@ func (in *KubeControllerManagerConfiguration) DeepCopyInto(out *KubeControllerMa
|
|||||||
out.EndpointController = in.EndpointController
|
out.EndpointController = in.EndpointController
|
||||||
out.EndpointSliceController = in.EndpointSliceController
|
out.EndpointSliceController = in.EndpointSliceController
|
||||||
out.EndpointSliceMirroringController = in.EndpointSliceMirroringController
|
out.EndpointSliceMirroringController = in.EndpointSliceMirroringController
|
||||||
|
out.EphemeralVolumeController = in.EphemeralVolumeController
|
||||||
in.GarbageCollectorController.DeepCopyInto(&out.GarbageCollectorController)
|
in.GarbageCollectorController.DeepCopyInto(&out.GarbageCollectorController)
|
||||||
out.HPAController = in.HPAController
|
out.HPAController = in.HPAController
|
||||||
out.JobController = in.JobController
|
out.JobController = in.JobController
|
||||||
|
19
pkg/controller/volume/ephemeral/config/doc.go
Normal file
19
pkg/controller/volume/ephemeral/config/doc.go
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2021 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// +k8s:deepcopy-gen=package
|
||||||
|
|
||||||
|
package config // import "k8s.io/kubernetes/pkg/controller/volume/ephemeral/config"
|
25
pkg/controller/volume/ephemeral/config/types.go
Normal file
25
pkg/controller/volume/ephemeral/config/types.go
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2021 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package config
|
||||||
|
|
||||||
|
// EphemeralVolumeControllerConfiguration contains elements describing EphemeralVolumeController.
|
||||||
|
type EphemeralVolumeControllerConfiguration struct {
|
||||||
|
// ConcurrentEphemeralVolumeSyncs is the number of ephemeral volume syncing operations
|
||||||
|
// that will be done concurrently. Larger number = faster ephemeral volume updating,
|
||||||
|
// but more CPU (and network) load.
|
||||||
|
ConcurrentEphemeralVolumeSyncs int32
|
||||||
|
}
|
@ -0,0 +1,40 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2021 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package v1alpha1
|
||||||
|
|
||||||
|
import (
|
||||||
|
"k8s.io/apimachinery/pkg/conversion"
|
||||||
|
"k8s.io/kube-controller-manager/config/v1alpha1"
|
||||||
|
"k8s.io/kubernetes/pkg/controller/volume/ephemeral/config"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Important! The public back-and-forth conversion functions for the types in this package
|
||||||
|
// with EphemeralVolumeControllerConfiguration types need to be manually exposed like this in order for
|
||||||
|
// other packages that reference this package to be able to call these conversion functions
|
||||||
|
// in an autogenerated manner.
|
||||||
|
// TODO: Fix the bug in conversion-gen so it automatically discovers these Convert_* functions
|
||||||
|
// in autogenerated code as well.
|
||||||
|
|
||||||
|
// Convert_v1alpha1_EphemeralVolumeControllerConfiguration_To_config_EphemeralVolumeControllerConfiguration is an autogenerated conversion function.
|
||||||
|
func Convert_v1alpha1_EphemeralVolumeControllerConfiguration_To_config_EphemeralVolumeControllerConfiguration(in *v1alpha1.EphemeralVolumeControllerConfiguration, out *config.EphemeralVolumeControllerConfiguration, s conversion.Scope) error {
|
||||||
|
return autoConvert_v1alpha1_EphemeralVolumeControllerConfiguration_To_config_EphemeralVolumeControllerConfiguration(in, out, s)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Convert_config_EphemeralVolumeControllerConfiguration_To_v1alpha1_EphemeralVolumeControllerConfiguration is an autogenerated conversion function.
|
||||||
|
func Convert_config_EphemeralVolumeControllerConfiguration_To_v1alpha1_EphemeralVolumeControllerConfiguration(in *config.EphemeralVolumeControllerConfiguration, out *v1alpha1.EphemeralVolumeControllerConfiguration, s conversion.Scope) error {
|
||||||
|
return autoConvert_config_EphemeralVolumeControllerConfiguration_To_v1alpha1_EphemeralVolumeControllerConfiguration(in, out, s)
|
||||||
|
}
|
36
pkg/controller/volume/ephemeral/config/v1alpha1/defaults.go
Normal file
36
pkg/controller/volume/ephemeral/config/v1alpha1/defaults.go
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2021 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package v1alpha1
|
||||||
|
|
||||||
|
import (
|
||||||
|
kubectrlmgrconfigv1alpha1 "k8s.io/kube-controller-manager/config/v1alpha1"
|
||||||
|
)
|
||||||
|
|
||||||
|
// RecommendedDefaultEphemeralVolumeControllerConfiguration defaults a pointer to a
|
||||||
|
// EphemeralVolumeControllerConfiguration struct. This will set the recommended default
|
||||||
|
// values, but they may be subject to change between API versions. This function
|
||||||
|
// is intentionally not registered in the scheme as a "normal" `SetDefaults_Foo`
|
||||||
|
// function to allow consumers of this type to set whatever defaults for their
|
||||||
|
// embedded configs. Forcing consumers to use these defaults would be problematic
|
||||||
|
// as defaulting in the scheme is done as part of the conversion, and there would
|
||||||
|
// be no easy way to opt-out. Instead, if you want to use this defaulting method
|
||||||
|
// run it in your wrapper struct of this type in its `SetDefaults_` method.
|
||||||
|
func RecommendedDefaultEphemeralVolumeControllerConfiguration(obj *kubectrlmgrconfigv1alpha1.EphemeralVolumeControllerConfiguration) {
|
||||||
|
if obj.ConcurrentEphemeralVolumeSyncs == 0 {
|
||||||
|
obj.ConcurrentEphemeralVolumeSyncs = 5
|
||||||
|
}
|
||||||
|
}
|
21
pkg/controller/volume/ephemeral/config/v1alpha1/doc.go
Normal file
21
pkg/controller/volume/ephemeral/config/v1alpha1/doc.go
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2021 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// +k8s:deepcopy-gen=package
|
||||||
|
// +k8s:conversion-gen=k8s.io/kubernetes/pkg/controller/volume/ephemeral/config
|
||||||
|
// +k8s:conversion-gen-external-types=k8s.io/kube-controller-manager/config/v1alpha1
|
||||||
|
|
||||||
|
package v1alpha1 // import "k8s.io/kubernetes/pkg/controller/volume/ephemeral/config/v1alpha1"
|
31
pkg/controller/volume/ephemeral/config/v1alpha1/register.go
Normal file
31
pkg/controller/volume/ephemeral/config/v1alpha1/register.go
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2021 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package v1alpha1
|
||||||
|
|
||||||
|
import (
|
||||||
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
// SchemeBuilder is the scheme builder with scheme init functions to run for this API package
|
||||||
|
SchemeBuilder runtime.SchemeBuilder
|
||||||
|
// localSchemeBuilder extends the SchemeBuilder instance with the external types. In this package,
|
||||||
|
// defaulting and conversion init funcs are registered as well.
|
||||||
|
localSchemeBuilder = &SchemeBuilder
|
||||||
|
// AddToScheme is a global function that registers this API group & version to a scheme
|
||||||
|
AddToScheme = localSchemeBuilder.AddToScheme
|
||||||
|
)
|
91
pkg/controller/volume/ephemeral/config/v1alpha1/zz_generated.conversion.go
generated
Normal file
91
pkg/controller/volume/ephemeral/config/v1alpha1/zz_generated.conversion.go
generated
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
// +build !ignore_autogenerated
|
||||||
|
|
||||||
|
/*
|
||||||
|
Copyright The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Code generated by conversion-gen. DO NOT EDIT.
|
||||||
|
|
||||||
|
package v1alpha1
|
||||||
|
|
||||||
|
import (
|
||||||
|
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
|
conversion "k8s.io/apimachinery/pkg/conversion"
|
||||||
|
runtime "k8s.io/apimachinery/pkg/runtime"
|
||||||
|
v1alpha1 "k8s.io/kube-controller-manager/config/v1alpha1"
|
||||||
|
config "k8s.io/kubernetes/pkg/controller/volume/ephemeral/config"
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
localSchemeBuilder.Register(RegisterConversions)
|
||||||
|
}
|
||||||
|
|
||||||
|
// RegisterConversions adds conversion functions to the given scheme.
|
||||||
|
// Public to allow building arbitrary schemes.
|
||||||
|
func RegisterConversions(s *runtime.Scheme) error {
|
||||||
|
if err := s.AddGeneratedConversionFunc((*v1alpha1.GroupResource)(nil), (*v1.GroupResource)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||||
|
return Convert_v1alpha1_GroupResource_To_v1_GroupResource(a.(*v1alpha1.GroupResource), b.(*v1.GroupResource), scope)
|
||||||
|
}); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err := s.AddGeneratedConversionFunc((*v1.GroupResource)(nil), (*v1alpha1.GroupResource)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||||
|
return Convert_v1_GroupResource_To_v1alpha1_GroupResource(a.(*v1.GroupResource), b.(*v1alpha1.GroupResource), scope)
|
||||||
|
}); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err := s.AddConversionFunc((*config.EphemeralVolumeControllerConfiguration)(nil), (*v1alpha1.EphemeralVolumeControllerConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||||
|
return Convert_config_EphemeralVolumeControllerConfiguration_To_v1alpha1_EphemeralVolumeControllerConfiguration(a.(*config.EphemeralVolumeControllerConfiguration), b.(*v1alpha1.EphemeralVolumeControllerConfiguration), scope)
|
||||||
|
}); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err := s.AddConversionFunc((*v1alpha1.EphemeralVolumeControllerConfiguration)(nil), (*config.EphemeralVolumeControllerConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||||
|
return Convert_v1alpha1_EphemeralVolumeControllerConfiguration_To_config_EphemeralVolumeControllerConfiguration(a.(*v1alpha1.EphemeralVolumeControllerConfiguration), b.(*config.EphemeralVolumeControllerConfiguration), scope)
|
||||||
|
}); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func autoConvert_v1alpha1_EphemeralVolumeControllerConfiguration_To_config_EphemeralVolumeControllerConfiguration(in *v1alpha1.EphemeralVolumeControllerConfiguration, out *config.EphemeralVolumeControllerConfiguration, s conversion.Scope) error {
|
||||||
|
out.ConcurrentEphemeralVolumeSyncs = in.ConcurrentEphemeralVolumeSyncs
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func autoConvert_config_EphemeralVolumeControllerConfiguration_To_v1alpha1_EphemeralVolumeControllerConfiguration(in *config.EphemeralVolumeControllerConfiguration, out *v1alpha1.EphemeralVolumeControllerConfiguration, s conversion.Scope) error {
|
||||||
|
out.ConcurrentEphemeralVolumeSyncs = in.ConcurrentEphemeralVolumeSyncs
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func autoConvert_v1alpha1_GroupResource_To_v1_GroupResource(in *v1alpha1.GroupResource, out *v1.GroupResource, s conversion.Scope) error {
|
||||||
|
out.Group = in.Group
|
||||||
|
out.Resource = in.Resource
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Convert_v1alpha1_GroupResource_To_v1_GroupResource is an autogenerated conversion function.
|
||||||
|
func Convert_v1alpha1_GroupResource_To_v1_GroupResource(in *v1alpha1.GroupResource, out *v1.GroupResource, s conversion.Scope) error {
|
||||||
|
return autoConvert_v1alpha1_GroupResource_To_v1_GroupResource(in, out, s)
|
||||||
|
}
|
||||||
|
|
||||||
|
func autoConvert_v1_GroupResource_To_v1alpha1_GroupResource(in *v1.GroupResource, out *v1alpha1.GroupResource, s conversion.Scope) error {
|
||||||
|
out.Group = in.Group
|
||||||
|
out.Resource = in.Resource
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Convert_v1_GroupResource_To_v1alpha1_GroupResource is an autogenerated conversion function.
|
||||||
|
func Convert_v1_GroupResource_To_v1alpha1_GroupResource(in *v1.GroupResource, out *v1alpha1.GroupResource, s conversion.Scope) error {
|
||||||
|
return autoConvert_v1_GroupResource_To_v1alpha1_GroupResource(in, out, s)
|
||||||
|
}
|
21
pkg/controller/volume/ephemeral/config/v1alpha1/zz_generated.deepcopy.go
generated
Normal file
21
pkg/controller/volume/ephemeral/config/v1alpha1/zz_generated.deepcopy.go
generated
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
// +build !ignore_autogenerated
|
||||||
|
|
||||||
|
/*
|
||||||
|
Copyright The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Code generated by deepcopy-gen. DO NOT EDIT.
|
||||||
|
|
||||||
|
package v1alpha1
|
37
pkg/controller/volume/ephemeral/config/zz_generated.deepcopy.go
generated
Normal file
37
pkg/controller/volume/ephemeral/config/zz_generated.deepcopy.go
generated
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
// +build !ignore_autogenerated
|
||||||
|
|
||||||
|
/*
|
||||||
|
Copyright The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Code generated by deepcopy-gen. DO NOT EDIT.
|
||||||
|
|
||||||
|
package config
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *EphemeralVolumeControllerConfiguration) DeepCopyInto(out *EphemeralVolumeControllerConfiguration) {
|
||||||
|
*out = *in
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EphemeralVolumeControllerConfiguration.
|
||||||
|
func (in *EphemeralVolumeControllerConfiguration) DeepCopy() *EphemeralVolumeControllerConfiguration {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(EphemeralVolumeControllerConfiguration)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
@ -119,6 +119,9 @@ type KubeControllerManagerConfiguration struct {
|
|||||||
// EndpointSliceMirroringControllerConfiguration holds configuration for
|
// EndpointSliceMirroringControllerConfiguration holds configuration for
|
||||||
// EndpointSliceMirroringController related features.
|
// EndpointSliceMirroringController related features.
|
||||||
EndpointSliceMirroringController EndpointSliceMirroringControllerConfiguration
|
EndpointSliceMirroringController EndpointSliceMirroringControllerConfiguration
|
||||||
|
// EphemeralVolumeControllerConfiguration holds configuration for EphemeralVolumeController
|
||||||
|
// related features.
|
||||||
|
EphemeralVolumeController EphemeralVolumeControllerConfiguration
|
||||||
// GarbageCollectorControllerConfiguration holds configuration for
|
// GarbageCollectorControllerConfiguration holds configuration for
|
||||||
// GarbageCollectorController related features.
|
// GarbageCollectorController related features.
|
||||||
GarbageCollectorController GarbageCollectorControllerConfiguration
|
GarbageCollectorController GarbageCollectorControllerConfiguration
|
||||||
@ -300,6 +303,14 @@ type EndpointSliceMirroringControllerConfiguration struct {
|
|||||||
MirroringEndpointUpdatesBatchPeriod metav1.Duration
|
MirroringEndpointUpdatesBatchPeriod metav1.Duration
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// EphemeralVolumeControllerConfiguration contains elements describing EphemeralVolumeController.
|
||||||
|
type EphemeralVolumeControllerConfiguration struct {
|
||||||
|
// ConcurrentEphemeralVolumeSyncseSyncs is the number of ephemeral volume syncing operations
|
||||||
|
// that will be done concurrently. Larger number = faster ephemeral volume updating,
|
||||||
|
// but more CPU (and network) load.
|
||||||
|
ConcurrentEphemeralVolumeSyncs int32
|
||||||
|
}
|
||||||
|
|
||||||
// GarbageCollectorControllerConfiguration contains elements describing GarbageCollectorController.
|
// GarbageCollectorControllerConfiguration contains elements describing GarbageCollectorController.
|
||||||
type GarbageCollectorControllerConfiguration struct {
|
type GarbageCollectorControllerConfiguration struct {
|
||||||
// enables the generic garbage collector. MUST be synced with the
|
// enables the generic garbage collector. MUST be synced with the
|
||||||
|
@ -194,6 +194,22 @@ func (in *EndpointSliceMirroringControllerConfiguration) DeepCopy() *EndpointSli
|
|||||||
return out
|
return out
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *EphemeralVolumeControllerConfiguration) DeepCopyInto(out *EphemeralVolumeControllerConfiguration) {
|
||||||
|
*out = *in
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EphemeralVolumeControllerConfiguration.
|
||||||
|
func (in *EphemeralVolumeControllerConfiguration) DeepCopy() *EphemeralVolumeControllerConfiguration {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(EphemeralVolumeControllerConfiguration)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
func (in *GarbageCollectorControllerConfiguration) DeepCopyInto(out *GarbageCollectorControllerConfiguration) {
|
func (in *GarbageCollectorControllerConfiguration) DeepCopyInto(out *GarbageCollectorControllerConfiguration) {
|
||||||
*out = *in
|
*out = *in
|
||||||
@ -289,6 +305,7 @@ func (in *KubeControllerManagerConfiguration) DeepCopyInto(out *KubeControllerMa
|
|||||||
out.EndpointController = in.EndpointController
|
out.EndpointController = in.EndpointController
|
||||||
out.EndpointSliceController = in.EndpointSliceController
|
out.EndpointSliceController = in.EndpointSliceController
|
||||||
out.EndpointSliceMirroringController = in.EndpointSliceMirroringController
|
out.EndpointSliceMirroringController = in.EndpointSliceMirroringController
|
||||||
|
out.EphemeralVolumeController = in.EphemeralVolumeController
|
||||||
in.GarbageCollectorController.DeepCopyInto(&out.GarbageCollectorController)
|
in.GarbageCollectorController.DeepCopyInto(&out.GarbageCollectorController)
|
||||||
out.HPAController = in.HPAController
|
out.HPAController = in.HPAController
|
||||||
out.JobController = in.JobController
|
out.JobController = in.JobController
|
||||||
|
Loading…
Reference in New Issue
Block a user