配布タイプについて
サービスのデプロイメント タイプによって、パフォーマンス、メモリ使用量、ファイルやボリュームへのアクセスなど、サービスの機能に関するさまざまな側面が決まります。 Liferay Cloud はサービスに2つのデプロイメントタイプを提供します:Deployment
とStatefulSet
です。
配備タイプの違い
デプロイメント タイプの特徴は以下の通り:
- ネットワークファイルシステム(NFS)は、このサービスで利用可能なディレクトリにマウントされている
- ネットワーク識別子はランダムである(例:
liferay-89f9f559
、liferay-d1267401
)。 - デプロイとスケーリングは順不同
- 自動ローリング更新は順序付けされていない
一方、 StatefulSet 型の特徴は以下の通りである:
- サービスには専用SSDが割り当てられる
- ネットワーク識別子は安定していて一意である(例:
search-0
、search-1
)。 - デプロイとスケーリングが順序付けされている
- 自動ローリング更新が順序付けされている
タイプ | 目的 | リソース使用量と起動時間 | ローカルボリューム専用のSSD | NFSへのアクセス | オーダードスタートアップ/スケーリング |
---|---|---|---|---|---|
**配備 | NFSを使用したステートレスアプリケーション | StatefulSet 型よりも消費リソースが少なく、起動が速い。 | X | ✓ | X |
ステートフルセット | ステートフルアプリケーション | デプロイメント タイプよりもリソースを消費し、起動が遅い。 | ✓ | ✓1 | ✓ |
一般的に、Deployment
タイプはより軽量で、より高速なデプロイを可能にし、サービス間の共有ボリューム(ドキュメントライブラリのような共有ファイル用)も可能にする。 StatefulSet`タイプは、デプロイメントとリソース使用(プロジェクトに割り当てられたメモリとCPUの合計を含む)のコストが高くなるが、デプロイメントを通してデータを永続化し、専用のSSDを使用することでファイルアクセスのパフォーマンスを向上させることができる。
共有ボリューム(NFS)とSSDストレージの比較
ネットワークファイルシステム(NFS)はすべての Deployment
タイプのサービスで利用できる。 NFSは、サービスが再デプロイされるか削除されるかに関わらず存続します。
NFSに保存されたボリュームは、すべての Deployment
タイプのサービスでも利用できる。 NFS は Liferay
と Backup
サービスで、ドキュメントライブラリへのアクセスを共有するためにすぐに使用できます。 NFS 用ボリュームの構成の詳細については、 永続ファイルシステム・ボリュームの構成 を参照してください。
StatefulSet
タイプのサービスは、すべてのボリューム・ストレージに専用のSSDを持つ。 StatefulSet
型サービス専用のSSDは、他のサービスからはアクセスできない。 また、SSDに保存されたボリュームは、再デプロイ時やサービスの削除後も保持されます。 クラスタ化された StatefulSet
サービスでは、各インスタンスは異なるボリュームを持つ。
Liferayクラウドのサービス構成
以下は、Liferay Cloud のサービスがすぐに使えるようにあらかじめ設定されている方法の詳細です:
-
Liferay サービスと Backup_サービスは、NFSに保存されているドキュメントライブラリへのアクセスを共有できるように、 Deployment タイプを使用します。
-
Database サービスと Web Server サービスも Deployment 型を使用しているため、軽量なまま迅速に起動することができます。
-
CI サービスは StatefulSet 型を使用し、専用のSSDを持つことによるファイルアクセス速度の向上を利用できる。
-
また、 Search サービスも StatefulSet 型を使用することで、検索速度を向上させ、サービスが再起動してもSSDに保存された検索インデックスが失われないようにしている。
デプロイメントの種類の設定
デフォルトでは、Liferay Cloudのサービスは、大半のユースケースに適合するようにあらかじめ設定されています。 ただし、各サービスのデプロイメントタイプは、サービスの LCP.json
内の kind
変数で設定可能である:
{
"id": "search",
"kind": "StatefulSet"
}
配置タイプを変更すると、データが失われたり、パフォーマンスに影響が出 たりする可能性があるため、注意してください。
関連トピック
-
StatefulSets`はNFSボリュームを使うことができますが、Liferayのホームディレ クトリと同じ専用ボリュームを使うことはできません。
↩