5.13. Operator SDK CLI リファレンス
Operator SDK コマンドラインインターフェイス (CLI) は、Operator の作成を容易にするために設計された開発キットです。
Operator SDK CLI 構文
$ operator-sdk <command> [<subcommand>] [<argument>] [<flags>]
Kubernetes ベースのクラスター (OpenShift Container Platform など) へのクラスター管理者のアクセスのある Operator の作成者は、Operator SDK CLI を使用して Go、Ansible、または Helm をベースに独自の Operator を開発できます。Kubebuilder は Go ベースの Operator のスキャフォールディングソリューションとして Operator SDK に組み込まれます。つまり、既存の Kubebuilder プロジェクトは Operator SDK でそのまま使用でき、引き続き機能します。
5.13.1. bundle
operator-sdk bundle
コマンドは Operator バンドルメタデータを管理します。
5.13.1.1. validate
bundle validate
サブコマンドは Operator バンドルを検証します。
フラグ | 説明 |
---|---|
|
|
|
バンドルイメージをプルおよび展開するためのツール。バンドルイメージを検証する場合にのみ使用されます。使用できるオプションは、 |
| 利用可能なすべてのオプションのバリデーターを一覧表示します。これが設定されている場合、バリデーターは実行されません。 |
|
実行するオプションのバリデーターを選択するラベルセレクター。 |
5.13.2. cleanup
operator-sdk cleanup
コマンドは、run
コマンドでデプロイされた Operator 用に作成されたリソースを破棄し、削除します。
フラグ | 説明 |
---|---|
|
|
|
CLI 要求に使用する |
| CLI 要求がある場合の CLI 要求を実行する namespace。 |
|
コマンドが失敗せずに完了するまでの待機時間。デフォルト値は |
5.13.3. completion
operator-sdk completion
コマンドは、CLI コマンドをより迅速に、より容易に実行できるようにシェル補完を生成します。
サブコマンド | 説明 |
---|---|
| bash 補完を生成します。 |
| zsh 補完を生成します。 |
フラグ | 説明 |
---|---|
| 使用方法についてのヘルプの出力。 |
以下に例を示します。
$ operator-sdk completion bash
出力例
# bash completion for operator-sdk -*- shell-script -*- ... # ex: ts=4 sw=4 et filetype=sh
5.13.4. create
operator-sdk create
コマンドは、Kubernetes API の作成または スキャフォールディング に使用されます。
5.13.4.1. api
create api
サブコマンドは Kubernetes API をスキャフォールディングします。サブコマンドは、init
コマンドで初期化されたプロジェクトで実行する必要があります。
フラグ | 説明 |
---|---|
|
|
5.13.5. generate
operator-sdk generate
コマンドは特定のジェネレーターを起動して、必要に応じてコードを生成します。
5.13.5.1. bundle
generate bundle
サブコマンドは、Operator プロジェクトのバンドルマニフェスト、メタデータ、および bundle.Dockerfile
ファイルのセットを生成します。
通常は、最初に generate kustomize manifests
サブコマンドを実行して、generate bundle
サブコマンドで使用される入力された Kustomize ベースを生成します。ただし、初期化されたプロジェクトで make bundle
コマンドを使用して、これらのコマンドの順次の実行を自動化できます。
フラグ | 説明 |
---|---|
|
バンドルが属するチャネルのコンマ区切りリスト。デフォルト値は |
|
|
| バンドルのデフォルトチャネル。 |
|
デプロイメントや RBAC などの Operator マニフェストのルートディレクトリー。このディレクトリーは、 |
|
|
|
既存のバンドルを読み取るディレクトリー。このディレクトリーは、バンドル |
|
バンドルマニフェストの Kustomize ベースおよび |
| バンドルマニフェストを生成します。 |
| バンドルメタデータと Dockerfile を生成します。 |
| バンドルを書き込むディレクトリー。 |
|
バンドルメタデータおよび Dockerfile を上書きします (ある場合)。デフォルト値は |
| バンドルのパッケージ名。 |
| quiet モードで実行します。 |
| バンドルマニフェストを標準出力に書き込みます。 |
| 生成されたバンドルの Operator のセマンティックバージョン。新規バンドルを作成するか、または Operator をアップグレードする場合にのみ設定します。 |
関連情報
-
generate bundle
サブコマンドを呼び出すためのmake bundle
コマンドの使用を含む詳細な手順については、Operator のバンドル を参照してください。
5.13.5.2. kustomize
generate kustomize
サブコマンドには、Operator の Kustomize データを生成するサブコマンドが含まれます。
5.13.5.2.1. manifests
generate kustomize manifests
は Kustomize ベースを生成または再生成し、kustomization.yaml
ファイルを config/manifests
ディレクトリーに生成または再生成します。これは、他の Operator SDK コマンドでバンドルマニフェストをビルドするために使用されます。このコマンドは、ベースがすでに存在しない場合や --interactive=false
フラグが設定されていない場合に、デフォルトでマニフェストベースの重要なコンポーネントである UI メタデータを対話的に要求します。
フラグ | 説明 |
---|---|
| API タイプ定義のルートディレクトリー。 |
|
|
| 既存の Kustomize ファイルを含むディレクトリー。 |
|
|
| Kustomize ファイルを書き込むディレクトリー。 |
| パッケージ名。 |
| quiet モードで実行します。 |
5.13.6. init
operator-sdk init
コマンドは Operator プロジェクトを初期化し、指定されたプラグインのデフォルトのプロジェクトディレクトリーレイアウトを生成または スキャフォールド します。
このコマンドは、以下のファイルを作成します。
- ボイラープレートライセンスファイル
-
ドメインおよびリポジトリーを含む
PROJECT
ファイル -
プロジェクトをビルドする
Makefile
-
プロジェクト依存関係のある
go.mod
ファイル -
マニフェストをカスタマイズするための
kustomization.yaml
ファイル - マネージャーマニフェストのイメージをカスタマイズするためのパッチファイル
- Prometheus メトリックを有効にするためのパッチファイル
-
実行する
main.go
ファイル
フラグ | 説明 |
---|---|
|
|
|
プロジェクトを初期化するプラグインの名前およびオプションのバージョン。利用可能なプラグインは |
|
プロジェクトのバージョン。使用できる値は |
5.13.7. run
operator-sdk run
コマンドは、さまざまな環境で Operator を起動できるオプションを提供します。
5.13.7.1. bundle
run bundle
サブコマンドは、Operator Lifecycle Manager (OLM) を使用してバンドル形式で Operator をデプロイします。
フラグ | 説明 |
---|---|
|
バンドルを挿入するインデックスイメージ。デフォルトのイメージは |
|
Operator のクラスターサービスバージョン (CSV) によってサポートされるインストールモード (例: |
|
インストールのタイムアウト。デフォルト値は |
|
CLI 要求に使用する |
| CLI 要求がある場合の CLI 要求を実行する namespace。 |
|
|
関連情報
- 使用可能なインストールモードに関する詳細は、Operator グループメンバーシップ を参照してください。
5.13.7.2. bundle-upgrade
run bundle-upgrade
サブコマンドは、以前に Operator Lifecycle Manager (OLM) を使用してバンドル形式でインストールされた Operator をアップグレードします。
フラグ | 説明 |
---|---|
|
アップグレードのタイムアウト。デフォルト値は |
|
CLI 要求に使用する |
| CLI 要求がある場合の CLI 要求を実行する namespace。 |
|
|
5.13.8. scorecard
operator-sdk scorecard
コマンドは、スコアカードツールを実行して Operator バンドルを検証し、改善に向けた提案を提供します。このコマンドは、バンドルイメージまたはマニフェストおよびメタデータを含むディレクトリーのいずれかの引数を取ります。引数がイメージタグを保持する場合は、イメージはリモートに存在する必要があります。
フラグ | 説明 |
---|---|
|
スコアカード設定ファイルへのパス。デフォルトのパスは |
|
|
|
|
| 実行可能なテストを一覧表示します。 |
| テストイメージを実行する namespace。 |
|
結果の出力形式。使用できる値はデフォルトの |
| 実行されるテストを決定するラベルセレクター。 |
|
テストに使用するサービスアカウント。デフォルト値は |
| テストの実行後にリソースクリーンアップを無効にします。 |
|
テストが完了するのを待つ秒数 (例: |
関連情報
- スコアカードツールの実行に関する詳細は、スコアカードを使用した Operator の検証 を参照してください。