1. ホーム
  2. kubernetes

[解決済み] KubernetesのデプロイメントとStatefulSetsの比較

2022-04-23 21:16:47

質問

Kubernetesについていろいろ調べているのですが、とても気に入っています。1つだけ、DeploymentとStatefulSetリソースの間に正確な区別があるのか、どのシナリオでそれぞれを使用するのか(または、一般的にどちらかが他よりも好ましいのか)について、明確なアイデアを得ることができません。

どのように解決するのですか?

DeploymentsとReplicationControllersはステートレスで使用するためのもので、どちらかというと軽量です。 ステートフルセット は、状態を永続化する必要がある場合に使用されます。したがって、後者は volumeClaimTemplates / 永続的なボリュームにクレームをつけることで、コンポーネントの再起動の間、状態を維持できることを保証します。

したがって、アプリケーションがステートフルである場合、またはKubernetesの上にステートフルなストレージをデプロイしたい場合は、StatefulSetを使用します。

アプリケーションがステートレスである場合、あるいは起動時にバックエンドシステムから状態を構築できる場合は、デプロイメントを使用します。

ステートフルなアプリケーションの実行に関する詳細は、以下のサイトを参照してください。 2016年のkubernetesのブログエントリにステートフルアプリケーションについて書かれています。