4.9.6. add


operator-sdk add コマンドは、コントローラーまたはリソースをプロジェクトに追加します。コマンドは、Operator プロジェクトのルートディレクトリーから実行される必要があります。

表4.27 add サブコマンド
サブコマンド説明

api

新規カスタムリソース (CR) の新規 API 定義を pkg/apis の下に追加し、カスタムリソース定義 (CRD) および CR ファイルを deploy/crds/ の下に生成します。API が pkg/apis/<group>/<version> にすでにある場合には、コマンドは上書きせず、エラーを返します。

controller

新規コントローラーを pkg/controller/<kind>/ の下に追加します。コントローラーは operator-sdk add api --kind=<kind> --api-version=<group/version> コマンドで pkg/apis/<group>/<version> の下にすでに定義されている必要のある CR タイプを使用することを予想します。該当する kind のコントローラーパッケージが pkg/controller/<kind> にすでに存在する場合、コマンドは上書きせず、エラーが返されます。

crd

CRD および CR ファイルを追加します。<project_name>/deploy パスがすでに存在している必要があります。--api-version および --kind フラグが、新規 Operator アプリケーションを生成するために必要です。

  • 生成される CRD ファイル名: <project_name>/deploy/crds/<group>_<version>_<kind>_crd.yaml
  • 生成される CR ファイル名: <project_name>/deploy/crds/<group>_<version>_<kind>_cr.yaml
表4.28 add api フラグ
フラグ説明

--api-version (文字列)

<group_name>/<version> 形式の CRD API バージョン (例: app.example.com/v1alpha1)。.

--image (文字列)

CRD Kind (例: AppService)。

以下は例になります。

$ operator-sdk add api \
    --api-version app.example.com/v1alpha1 \
    --kind AppService

出力例

Create pkg/apis/app/v1alpha1/appservice_types.go
Create pkg/apis/addtoscheme_app_v1alpha1.go
Create pkg/apis/app/v1alpha1/register.go
Create pkg/apis/app/v1alpha1/doc.go
Create deploy/crds/app_v1alpha1_appservice_cr.yaml
Create deploy/crds/app_v1alpha1_appservice_crd.yaml
Running code-generation for Custom Resource (CR) group versions: [app:v1alpha1]
Generating deepcopy funcs

$ tree pkg/apis

出力例

pkg/apis/
├── addtoscheme_app_appservice.go
├── apis.go
└── app
    └── v1alpha1
        ├── doc.go
        ├── register.go
        └── types.go

$ operator-sdk add controller \
    --api-version app.example.com/v1alpha1 \
    --kind AppService

出力例

Create pkg/controller/appservice/appservice_controller.go
Create pkg/controller/add_appservice.go

$ tree pkg/controller

出力例

pkg/controller/
├── add_appservice.go
├── appservice
│   └── appservice_controller.go
└── controller.go

$ operator-sdk add crd \
    --api-version app.example.com/v1alpha1 \
    --kind AppService

出力例

Generating Custom Resource Definition (CRD) files
Create deploy/crds/app_v1alpha1_appservice_crd.yaml
Create deploy/crds/app_v1alpha1_appservice_cr.yaml

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.