0

私はKubernetesで使用したいステートフルなアプリケーションを持っていますので、私はStatefulSetを見ていました。 StatefulSetsは私の展開に適していると思われますが、私たちがクラウドインフラストラクチャを利用しているため、ノードの障害から生き残ることはできません。Kubernetesでは、ノードが空になったときにノード内のデータはどうなりますか?

私のアプリケーションがステートレスである場合、管理者はノードを削除し、アプリケーションを気にすることなくノードを追加できます。ポッドは追い出され、別のノードに割り当てられるからです。しかし、私のアプリケーションはステートフルなので、PersistentVolumeにローカルにデータを格納します。私の質問は、私のアプリケーションのPersistentVolumeを含むノードが空になった場合、私のデータはどうなりますか?それはなくなったのですか?または排水されたときに別のノードに移行されていますか?私はドキュメントでこれに明確な答えを見つけることができませんでした。

答えて

0

前述したように、ノード上の永続ボリュームを使用してデータを格納するためにローカルストレージを使用している場合、そのデータの存続期間はノードの有効期間に依存します。したがって、単一障害点です。それはk8sに柔軟性を提供しません。ステートフルな設定ポッドはその特定のノード上にある必要があるためです。

Persistent VolumeまたはStorage Classを使用して外部ストレージを使用すると、単一障害点が削除され、ステートフルポッドに柔軟性が提供されます。今度は、ポッドが死んだ場合に、データで何をしたいかを明確な情報をポッドに提供する必要があります。

関連する問題