12.9. 付録


12.9.1. Operator プロジェクトのスキャフォールディングレイアウト

operator-sdk CLI は、それぞれの Operator プロジェクトに多数のパッケージを生成します。以下のセクションには、生成される各ファイルおよびディレクトリーの基本的な要約が含まれます。

12.9.1.1. Go ベースプロジェクト

operator-sdk new コマンドを使用して生成される Go ベースの Operator プロジェクト (デフォルトタイプ) には、以下のディレクトリーおよびファイルが含まれます。

ファイル/フォルダー目的

cmd/

Operator のメインプログラムである manager/main.go ファイルが含まれます。これは Operator の主なプログラムです。 これは、すべてのカスタムリソース定義を pkg/apis/ の下に定義し、すべてのコントローラーを pkg/controllers/ の下で起動する新規マネージャーをインスタンス化します。

pkg/apis/

カスタムリソース定義 (CRD) の API を定義するディレクトリーツリーが含まれます。ユーザーは pkg/apis/<group>/<version>/<kind>_types.go ファイルを編集し、各リソースタイプの API を定義し、それらのパッケージをコントローラーにインポートしてリソースタイプの有無について監視することが想定されます。

pkg/controller

この pkg には、コントローラーの実装が含まれます。ユーザーは pkg/controller/<kind>/<kind>_controller.go ファイルを編集し、指定された kind のリソースタイプを処理するためのコントローラーの調整 (reconciliation) ロジックを定義することが想定されます。

build/

Operator をビルドするために使用される Dockerfile およびビルドスクリプトが含まれます。

deploy/

CRD を登録し、RBAC をセットアップし、Deployment として Operator をデプロイするための各種 YAML マニフェストが含まれます。

Gopkg.toml
Gopkg.lock

この Operator の外部の依存関係を記述する Go Dep マニフェスト。

vendor/

このプロジェクトのインポートの条件を満たす外部の依存関係のローカルコピーが含まれる golang vendor フォルダー。Go Dep はベンダーを直接管理します。

12.9.1.2. Helm ベースのプロジェクト

operator-sdk new --type helm コマンドを使用して生成される Helm ベース Operator プロジェクトには、以下のディレクトリーおよびファイルが含まれます。

ファイル/フォルダー目的

deploy/

CRD を登録し、RBAC をセットアップし、Deployment として Operator をデプロイするための各種 YAML マニフェストが含まれます。

helm-charts/<kind>

helm create と同等のコマンドを使用して初期化された Helm チャートが含まれます。

build/

Operator をビルドするために使用される Dockerfile およびビルドスクリプトが含まれます。

watches.yaml

GroupVersionKind、および Helm チャートの場所が含まれます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.