12.8.8. run

operator-sdk run コマンドは、各種の環境で Operator を起動できるオプションを提供します。

表12.30 new 引数

引数説明

--kubeconfig (文字列)

Kubernetes 設定ファイルへのファイルパス。デフォルト: $HOME/.kube/config

--local

Operator は、kubeconfig ファイルを使用して Kubernetes クラスターにアクセスする機能を使って Operator バイナリーをビルドしてローカルに実行されます。

--namespace (文字列)

Operator が変更の有無を監視する namespace。デフォルト: default

--operator-flags

ローカル Operator が必要とする可能性のあるフラグ。例: --flag1 value1 --flag2=value2.--local フラグのみで使用する場合

-h, --help

使用方法についてのヘルプの出力。

12.8.8.1. --local

--local フラグは、kubeconfig ファイルを使用して Kubernetes クラスターにアクセスできる機能を使って Operator バイナリーをビルドし、Operator をローカルマシンで起動します。

出力例

$ operator-sdk run --local \
  --kubeconfig "mycluster.kubecfg" \
  --namespace "default" \
  --operator-flags "--flag1 value1 --flag2=value2"

以下の例では、デフォルトの kubeconfig、デフォルトの namespace 環境変数を使用し、Operator のフラグを渡します。Operator フラグを使用するには、Operator がこのオプションの処理方法を認識している必要があります。たとえば、resync-interval フラグを認識する Operator の場合は、以下を実行します。

$ operator-sdk run --local --operator-flags "--resync-interval 10"

デフォルト以外の namespace を使用することを予定している場合は、 --namespace フラグを使用して、Operator が作成されるカスタムリソース (CR) を監視する場所を変更します。

$ operator-sdk run --local --namespace "testing"

これが機能させるには、Operator が WATCH_NAMESPACE 環境変数を処理する必要があります。これは、Operator に ユーティリティー機能k8sutil.GetWatchNamespace を使用して実行できます。