managerを⽣成 if err != nil { setupLog.Error(err, "unable to start manager") os.Exit(1) } queues := queue.NewManager(mgr.GetClient()) // ClusterQueueを処理するQueueManagerを⽣成 cCache := cache.New(mgr.GetClient()) // 計算⽤のリソース使⽤量を管理するCacheManagerを⽣成 if failedCtrl, err := core.SetupControllers(mgr, queues, cCache); err != nil { // 各種Controllerを登録 setupLog.Error(err, "Unable to create controller", "controller", failedCtrl) } if err = job.NewReconciler(mgr.GetScheme(), // Job Controllerを登録 mgr.GetClient(), mgr.GetEventRecorderFor(constants.JobControllerName), job.WithManageJobsWithoutQueueName(config.ManageJobsWithoutQueueName), ).SetupWithManager(mgr); err != nil { setupLog.Error(err, "unable to create controller", "controller", "Job") os.Exit(1) } ctx := ctrl.SetupSignalHandler() go func() { // Queueのクリーンアップ処理を⾏うgo routineを起動 queues.CleanUpOnContext(ctx) }() sched := scheduler.New(queues, cCache, mgr.GetClient(), // スケジューラーを⽣成〜起動 mgr.GetEventRecorderFor(constants.ManagerName)) go func() { sched.Start(ctx) }() ... } https://github.com/kubernetes-sigs/kueue/blob/v0.1.0/main.go