mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-21 19:01:49 +00:00
Use unversioned client in scheduledjobs and set group version to batch/v2alpha1
This commit is contained in:
parent
cc7d509e47
commit
fe53ec34cf
@ -36,6 +36,7 @@ import (
|
|||||||
"k8s.io/kubernetes/cmd/kube-controller-manager/app/options"
|
"k8s.io/kubernetes/cmd/kube-controller-manager/app/options"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/api/unversioned"
|
"k8s.io/kubernetes/pkg/api/unversioned"
|
||||||
|
"k8s.io/kubernetes/pkg/apis/batch"
|
||||||
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
|
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
|
||||||
"k8s.io/kubernetes/pkg/client/leaderelection"
|
"k8s.io/kubernetes/pkg/client/leaderelection"
|
||||||
"k8s.io/kubernetes/pkg/client/record"
|
"k8s.io/kubernetes/pkg/client/record"
|
||||||
@ -128,6 +129,7 @@ func Run(s *options.CMServer) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
kubeconfig.ContentConfig.ContentType = s.ContentType
|
kubeconfig.ContentConfig.ContentType = s.ContentType
|
||||||
|
kubeconfig.ContentConfig.GroupVersion = &unversioned.GroupVersion{Group: batch.GroupName, Version: "v2alpha1"}
|
||||||
// Override kubeconfig qps/burst settings from flags
|
// Override kubeconfig qps/burst settings from flags
|
||||||
kubeconfig.QPS = s.KubeAPIQPS
|
kubeconfig.QPS = s.KubeAPIQPS
|
||||||
kubeconfig.Burst = int(s.KubeAPIBurst)
|
kubeconfig.Burst = int(s.KubeAPIBurst)
|
||||||
@ -390,7 +392,7 @@ func StartControllers(s *options.CMServer, kubeClient *client.Client, kubeconfig
|
|||||||
glog.Infof("Starting %s apis", groupVersion)
|
glog.Infof("Starting %s apis", groupVersion)
|
||||||
if containsResource(resources, "scheduledjobs") {
|
if containsResource(resources, "scheduledjobs") {
|
||||||
glog.Infof("Starting scheduledjob controller")
|
glog.Infof("Starting scheduledjob controller")
|
||||||
go scheduledjob.NewScheduledJobController(clientset.NewForConfigOrDie(restclient.AddUserAgent(kubeconfig, "scheduledjob-controller"))).
|
go scheduledjob.NewScheduledJobController(kubeClient).
|
||||||
Run(wait.NeverStop)
|
Run(wait.NeverStop)
|
||||||
time.Sleep(wait.Jitter(s.ControllerStartInterval.Duration, ControllerStartJitter))
|
time.Sleep(wait.Jitter(s.ControllerStartInterval.Duration, ControllerStartJitter))
|
||||||
time.Sleep(wait.Jitter(s.ControllerStartInterval.Duration, ControllerStartJitter))
|
time.Sleep(wait.Jitter(s.ControllerStartInterval.Duration, ControllerStartJitter))
|
||||||
|
@ -37,9 +37,8 @@ import (
|
|||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/api/unversioned"
|
"k8s.io/kubernetes/pkg/api/unversioned"
|
||||||
"k8s.io/kubernetes/pkg/apis/batch"
|
"k8s.io/kubernetes/pkg/apis/batch"
|
||||||
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
|
|
||||||
unversionedcore "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/unversioned"
|
|
||||||
"k8s.io/kubernetes/pkg/client/record"
|
"k8s.io/kubernetes/pkg/client/record"
|
||||||
|
client "k8s.io/kubernetes/pkg/client/unversioned"
|
||||||
"k8s.io/kubernetes/pkg/controller/job"
|
"k8s.io/kubernetes/pkg/controller/job"
|
||||||
"k8s.io/kubernetes/pkg/runtime"
|
"k8s.io/kubernetes/pkg/runtime"
|
||||||
"k8s.io/kubernetes/pkg/util/metrics"
|
"k8s.io/kubernetes/pkg/util/metrics"
|
||||||
@ -50,20 +49,20 @@ import (
|
|||||||
// Utilities for dealing with Jobs and ScheduledJobs and time.
|
// Utilities for dealing with Jobs and ScheduledJobs and time.
|
||||||
|
|
||||||
type ScheduledJobController struct {
|
type ScheduledJobController struct {
|
||||||
kubeClient clientset.Interface
|
kubeClient *client.Client
|
||||||
jobControl jobControlInterface
|
jobControl jobControlInterface
|
||||||
sjControl sjControlInterface
|
sjControl sjControlInterface
|
||||||
recorder record.EventRecorder
|
recorder record.EventRecorder
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewScheduledJobController(kubeClient clientset.Interface) *ScheduledJobController {
|
func NewScheduledJobController(kubeClient *client.Client) *ScheduledJobController {
|
||||||
eventBroadcaster := record.NewBroadcaster()
|
eventBroadcaster := record.NewBroadcaster()
|
||||||
eventBroadcaster.StartLogging(glog.Infof)
|
eventBroadcaster.StartLogging(glog.Infof)
|
||||||
// TODO: remove the wrapper when every clients have moved to use the clientset.
|
// TODO: remove the wrapper when every clients have moved to use the clientset.
|
||||||
eventBroadcaster.StartRecordingToSink(&unversionedcore.EventSinkImpl{Interface: kubeClient.Core().Events("")})
|
eventBroadcaster.StartRecordingToSink(kubeClient.Events(""))
|
||||||
|
|
||||||
if kubeClient != nil && kubeClient.Batch().GetRESTClient().GetRateLimiter() != nil {
|
if kubeClient != nil && kubeClient.GetRateLimiter() != nil {
|
||||||
metrics.RegisterMetricAndTrackRateLimiterUsage("scheduledjob_controller", kubeClient.Batch().GetRESTClient().GetRateLimiter())
|
metrics.RegisterMetricAndTrackRateLimiterUsage("scheduledjob_controller", kubeClient.GetRateLimiter())
|
||||||
}
|
}
|
||||||
|
|
||||||
jm := &ScheduledJobController{
|
jm := &ScheduledJobController{
|
||||||
@ -76,7 +75,7 @@ func NewScheduledJobController(kubeClient clientset.Interface) *ScheduledJobCont
|
|||||||
return jm
|
return jm
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewScheduledJobControllerFromClient(kubeClient clientset.Interface) *ScheduledJobController {
|
func NewScheduledJobControllerFromClient(kubeClient *client.Client) *ScheduledJobController {
|
||||||
jm := NewScheduledJobController(kubeClient)
|
jm := NewScheduledJobController(kubeClient)
|
||||||
return jm
|
return jm
|
||||||
}
|
}
|
||||||
|
@ -20,8 +20,8 @@ import (
|
|||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"k8s.io/kubernetes/pkg/apis/batch"
|
"k8s.io/kubernetes/pkg/apis/batch"
|
||||||
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
|
|
||||||
"k8s.io/kubernetes/pkg/client/record"
|
"k8s.io/kubernetes/pkg/client/record"
|
||||||
|
client "k8s.io/kubernetes/pkg/client/unversioned"
|
||||||
"k8s.io/kubernetes/pkg/labels"
|
"k8s.io/kubernetes/pkg/labels"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -33,7 +33,7 @@ type sjControlInterface interface {
|
|||||||
|
|
||||||
// realSJControl is the default implementation of sjControlInterface.
|
// realSJControl is the default implementation of sjControlInterface.
|
||||||
type realSJControl struct {
|
type realSJControl struct {
|
||||||
KubeClient clientset.Interface
|
KubeClient *client.Client
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ sjControlInterface = &realSJControl{}
|
var _ sjControlInterface = &realSJControl{}
|
||||||
@ -69,7 +69,7 @@ type jobControlInterface interface {
|
|||||||
|
|
||||||
// realJobControl is the default implementation of jobControlInterface.
|
// realJobControl is the default implementation of jobControlInterface.
|
||||||
type realJobControl struct {
|
type realJobControl struct {
|
||||||
KubeClient clientset.Interface
|
KubeClient *client.Client
|
||||||
Recorder record.EventRecorder
|
Recorder record.EventRecorder
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user