Menu Close
Settings Close

Language and Page Formatting Options

5.5.2.2. プロジェクトの作成

Operator SDK CLI を使用して nginx-operator というプロジェクトを作成します。

手順

  1. プロジェクトのディレクトリーを作成します。

    $ mkdir -p $HOME/projects/nginx-operator
  2. ディレクトリーに切り替えます。

    $ cd $HOME/projects/nginx-operator
  3. helm プラグインを指定して operator-sdk init コマンドを実行し、プロジェクトを初期化します。

    $ operator-sdk init \
        --plugins=helm \
        --domain=example.com \
        --group=demo \
        --version=v1 \
        --kind=Nginx
    注記

    デフォルトで、helm プラグインは、ボイラープレート Helm チャートを使用してプロジェクトを初期化します。--helm-chart フラグなどの追加のフラグを使用すると、既存の Helm チャートを使用してプロジェクトを初期化できます。

    init コマンドは、API バージョン example.com/v1 および Kind Nginx でのリソースの監視に特化した nginx-operator プロジェクトを作成します。

  4. Helm ベースのプロジェクトの場合、init コマンドは、チャートのデフォルトマニフェストによってデプロイされるリソースに基づいて config/rbac/role.yaml ファイルに RBAC ルールを生成します。このファイルで生成されるルールが Operator のパーミッション要件を満たしていることを確認します。
5.5.2.2.1. 既存の Helm チャート

ボイラープレート Helm チャートでプロジェクトを作成する代わりに、以下のフラグを使用してローカルファイルシステムまたはリモートチャートリポジトリーから既存のチャートを使用することもできます。

  • --helm-chart
  • --helm-chart-repo
  • --helm-chart-version

--helm-chart フラグを指定すると、--group--version、および --kind フラグは任意となります。未設定のままにすると、以下のデフォルト値が使用されます。

フラグ

--domain

my.domain

--group

charts

--version

v1

--kind

指定されたチャートからの推定値。

--helm-chart フラグがローカルチャートアーカイブ (例: example-chart-1.2.0.tgz) またはディレクトリーを指定する場合、チャートは検証され、プロジェクトに展開されるかコピーされます。そうでない場合は、Operator SDK はリモートリポジトリーからチャートの取得を試みます。

--helm-chart-repo フラグでカスタムリポジトリーの URL が指定されない場合には、以下のチャート参照形式がサポートされます。

フォーマット説明

<repo_name>/<chart_name>

$HELM_HOME/repositories/repositories.yaml ファイルで指定されるように、<repo_name> という名前の Helm チャートリポジトリーから、<chart_name> という名前の Helm チャートを取得します。helm repo add コマンドを使用して、このファイルを設定します。

<url>

指定された URL で Helm チャートアーカイブを取得します。

カスタムリポジトリーの URL が --helm-chart-repo によって指定される場合、以下のチャート参照形式がサポートされます。

フォーマット説明

<chart_name>

--helm-chart-repo URL の値で指定された Helm チャートリポジトリーで、<chart_name> という名前の Helm チャートを取得します。

--helm-chart-version フラグが設定されていない場合は、Operator SDK は Helm チャートの利用可能な最新バージョンを取得します。フラグが設定されている場合は、指定したバージョンを取得します。--helm-chart フラグで指定したチャートが特定のバージョンを参照する場合 (例: ローカルパスまたは URL の場合)、オプションの --helm-chart-version フラグは使用されません。

詳細と例を確認するには、以下のコマンドを実行します。

$ operator-sdk init --plugins helm --help