第6章. アダプター演算子
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
Operatorをゼロから書くのにかかる多くのステップを考えてみよう。 エンドユーザ向けのインタフェースを指定するCRDを作成しなければならない。Kubernetesコントローラは、Operatorのドメイン固有のロジックを記述するだけでなく、適切な通知を受け取るために実行中のクラスタに正しくフックする必要がある。Operatorが必要な容量で機能するように、ロールとサービスアカウントを作成する必要がある。演算子はクラスタ内のPodとして実行されるため、付随するデプロイメントマニフェストとともにイメージを構築する必要がある。
多くのプロジェクトは、アプリケーションのデプロイとコンフィギュレーションの技術にすでに投資している。 Helmプロジェクトでは、ユーザがクラスタリソースを形式テキストファイルで定義し、Helmコマンドラインツールを使ってデプロイすることができる。Ansibleは、リソースグループのプロビジョニングとコンフィギュレーションのための再利用可能なスクリプトを作成するための一般的な自動化エンジンである。どちらのプロジェクトも、アプリケーションに演算子を使用するように移行するリソースが不足している開発者の熱心な支持を得ている。
Operator SDKは、Adapter Operatorを通じてこれらの両方の問題に対するソリューションを提供する。コマンドラインツールを介して、SDKは、HelmやAnsibleなどのテクノロジをOperatorで実行するために必要なコードを生成する。これにより、必要なサポートOperatorコードを記述する必要なく、インフラをOperatorモデルに迅速に移行することができる。この利点は次のとおりです:
-
基盤技術がHelm、Ansible、Goのいずれであっても、CRDを通じて一貫したインタフェースを提供する。
-
HelmソリューションとAnsibleソリューションが、Operatorライフサイクルマネージャが提供するOperatorデプロイとライフサイクルの利点を活用できるようにする(詳細は第8章を参照)。
-
OperatorHub.io(詳細については第10章を参照)のようなOperatorリポジトリ上でこれらのソリューション のホスティングを可能にする。
本章では、前章で紹介したビジター・サイト・アプリケーションを使用して、SDKを使用してアダプ タ演算子を構築し、テストする方法を紹介する。