コントローラの開発中は何度もプログラムをビルドして実行し直すことになりますが、コンテナイメージのビルドに時間がかかるため非効率になりがちです。 また、コンテナとして動作しているプログラムはデバッグ実行がしにくいという問題もあります。
Kubebuilderによって生成されたMakefileにはmake run
というターゲットが用意されており、コントローラをローカルのプロセスとして動作させることが可能です。
ただし、Kubernetesクラスタ上で動作させる場合といくつか違いがあるので、注意して利用してください。
LeaderElectionNamespace
を指定する必要があります。$HOME/.kube/config
の設定を利用すると、kubectlと同じ権限を持つようになります)。