12.7.2. Leader-with-lease 選択の使用

Leader-with-lease 実装は、リーダー選択について Manager オプション を使用して有効にできます。

import (
  ...
  "sigs.k8s.io/controller-runtime/pkg/manager"
)

func main() {
  ...
  opts := manager.Options{
    ...
    LeaderElection: true,
    LeaderElectionID: "memcached-operator-lock"
  }
  mgr, err := manager.New(cfg, opts)
  ...
}

Operator がクラスターで実行されていない場合、Manager はリーダー選択用の ConfigMap を作成するための Operator の namespace を検出できないことから開始時にエラーを返します。Manager の LeaderElectionNamespace オプションを設定してこの namespace を上書きできます。