私はKubernetesを知っており、Kubernetesでステートフルなサービスを展開するためのシンプルなソリューションは見つかりませんでした。Kubernetesでのステートフルアプリケーションの展開
- すべてのポッドは、ロードバランスすることはできませんの接触点(他のポッドIPのリスト)とブートストラップする必要があります(私は不運の場合のスプリットブレインの怖い:最悪の場合には荷重 - バランサは各ノードの負荷バランスをとって、1つのノードのいくつかの自己閉じ込めクラスタを作成する)
- すべてのポッドには、最悪の場合、手動でアクセスする必要がある永続ストレージが必要です(例:領事のpeers.json)
- すべてのポッドは再構成可能でなければなりません。もし私が領事クラスターで何かをするのを忘れてしまったら、それをゼロから再構築するだけではダウンタイムになるでしょう。 kubernetesがこれを防ぐのであれば、私はまだ展開の仕組みに精通していません。
- 新しく構成されたインスタンスでサービスクラスターを動的に増やして古いものを排除することは非常に望ましくないかもしれません(私は精通した専門家ではありませんが、私の視点からは、
AFAIK最も適切なのはペットセットですが、まだアルファベットになっており完全に削除することはできますが、また、私はPet Setレクリエーションで生き残るために永続的なボリュームをどのように管理すべきか理解していないと感じています。私が思いついたもう一つの選択肢は、サービス展開をブートストラップノード展開、ブートストラップノードサービス、および他のすべてのノード展開に分割することです。ブートストラップノードサービスを接点として使用できます(これは完全には安全ではありません)。
このケースの一般的なアプローチは何ですか?また、賛否両論には何がありますか?
ありません。 K8はまだこの準備が整っていません。 PetSetsは答えですが、それは長い道のりです。 – Drew
私はK8がこのために準備ができているのか分かりません。 Kubernetesの考え方はすべてが一時的だということです。 PetSetsは部分的な解決策を提供するかもしれませんが、その場合、Kubernetesを使用することで実際には何も得られません – 3ocene