1

「WATCH_NAMESPACE」envから読み取って、監視する名前空間を理解するkubeビルダーを介して構築されたオペレーターがあります。これが現在のセットアップの仕組みです。

namespaces := os.Getenv("WATCH_NAMESPACE")
    if strings.Contains(namespaces, ",") {
        setupLog.Info("Operator will listen to the specific namespaces: " + namespaces)
        options.NewCache = cache.MultiNamespacedCacheBuilder(strings.Split(namespaces, ","))
    } else {
        log.Info("Operator will listen only one namespace or all namespace: " + namespaces)
        options.Namespace = namespaces
    }

    mgr, err := ctrl.NewManager(ctrl.GetConfigOrDie(), options)
    if err != nil {
        log.Error(err, "unable to start manager")
        os.Exit(1)
    }

if err = (&dataplatformcontroller.DruidReconciler{
...
}

これはうまくいきます。しかし問題は、監視する新しい名前空間を追加する必要があるたびに、オペレーターを再起動する必要があることです。ここでの最良のオプションは、構成マップを監視し、毎回それを読み取ることだと思います。しかし、これをどのように進めればよいかわかりません。提案、ドキュメント、またはリンクは役に立ちます。

4

0 に答える 0