operator-sdk создание / чтение CR при запуске - ошибка кеша

Где то место в коде, где следует разместить установочный код, взаимодействующий с кластером k8s? В сгенерированном коде я пытался разместить его перед запуском менеджера, но получаю ошибку.

      r := &controllers.AppReconciler{
    Client: mgr.GetClient(),
    Log:    ctrl.Log.WithName("controllers").WithName("App"),
    Scheme: mgr.GetScheme(),
}
if err = r.SetupWithManager(mgr); err != nil {
    setupLog.Error(err, "unable to create controller", "controller", "App")
    os.Exit(1)
}
// Tried to place setup here
r.setup()

setupLog.Info("starting manager")
if err := mgr.Start(ctrl.SetupSignalHandler()); err != nil {
    setupLog.Error(err, "problem running manager")
    os.Exit(1)
}

Тем не менее setup()функция получает ошибку: кеш не запускается, не может читать объекты при попытке вызова r.List()для существующих CR.
Целью этого является проверка существующих объектов CR в моем приложении и создание объектов CR, если они отсутствуют.

0 ответов

Другие вопросы по тегам