Skip to content

Commit cca2c51

Browse files
committed
add Cache to coscheduling plugin
1 parent 8b7cc50 commit cca2c51

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

pkg/coscheduling/coscheduling.go

+12-1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import (
2929
corev1helpers "k8s.io/component-helpers/scheduling/corev1"
3030
"k8s.io/klog/v2"
3131
"k8s.io/kubernetes/pkg/scheduler/framework"
32+
ctrlcache "sigs.k8s.io/controller-runtime/pkg/cache"
3233
"sigs.k8s.io/controller-runtime/pkg/client"
3334

3435
"sigs.k8s.io/scheduler-plugins/apis/config"
@@ -74,7 +75,17 @@ func New(ctx context.Context, obj runtime.Object, handle framework.Handle) (fram
7475
_ = clientscheme.AddToScheme(scheme)
7576
_ = v1.AddToScheme(scheme)
7677
_ = v1alpha1.AddToScheme(scheme)
77-
client, err := client.New(handle.KubeConfig(), client.Options{Scheme: scheme})
78+
ccache, err := ctrlcache.New(handle.KubeConfig(), ctrlcache.Options{
79+
Scheme: scheme,
80+
})
81+
if err != nil {
82+
return nil, err
83+
}
84+
go ccache.Start(ctx)
85+
ccache.WaitForCacheSync(ctx)
86+
client, err := client.New(handle.KubeConfig(), client.Options{
87+
Scheme: scheme,
88+
Cache: &client.CacheOptions{Reader: ccache}})
7889
if err != nil {
7990
return nil, err
8091
}

0 commit comments

Comments
 (0)