Calendarの穴埋め記事です。(KubeDirector)をご存知でしょうか。Statefulなアプリケーションを管理するためのカスタムコントローラです。アプリケーション固有のオペレーターと違い、KubeDirectorにはアプリケーション固有のロジックはなく、アプリケーションの情報はカスタムリソースの設定として定義していきます。Kubernetesなどで使用できます。Kubernetesでやってみます。deployデプロイが完了すると、以下のCustomResourceDefinitionが作成されます。KubeDirectorの設定を定義しますまた、サンプルのアプリケーションとして、以下のアプリケーションがKubeDirectorAppのカスタムリソースとして追加されます。アプリケーションをデプロイしたいところですが、その前KubeDirectorをしておきたいと思います。設定は、KubeDirectorConfigのカスタムリソースで、kd-global-configの名前で作成すると反映させることができます。設定可能な値はこちらで確認できます。デフォルトのStorageClassやServiceType、Systemdのサポートなどが設定できます。アプリケーションデプロイこちらのサンプルにある永続ストレージを使用するSparkのアプリケーションをデプロイしてみたいと思います。yamlファイルに書かれた以下のオブジェクトが作成されます。(40Giの永続ストレージ付き)アプリケーションの作成こちらにあるサンプルをベースに変更していくのがスムーズかと思います。ポイントは以下の3点です。アプリケーションのメタデータはKubeDirectorAppのカスタムリソースで定義可能ですコンテナイメージにアプリケーションのベースを入れておきますコンテナ起動時にセットアップスクリプトが流せますまとめKubeDirectorを使用すると既存のStatefulなアプリケーションを容易にコンテナ環境に移すことができます。所属組織団体の公式見解とは異なる場合があります点、ご了承ください。