Kubernetesステートレスサービスと状態サービス

ステートレスサービス

  1. 同じ要求応答の複数のインスタンスのためのデータと結果の永続的なローカルストレージのために実行されないサービスのインスタンスを参照することはまったく同じです。
  2. 複数のインスタンスが同じ永続データを共有することができます。例えば:nginxのインスタンス、Tomcatの例、等
  3. 関連K8Sリソース:さらにreplicaSet、ReplicationController、展開など、サービスはステートレスなので、ポッドコントローラは、これらの数字がランダムな値です作成されますので。すべてのインスタンスが得るために任意の体積の減少は、ポッドことができるので、戻り値は、同じであるため、ボリュームの減少の体積の減少は、1つのポッドが、ランダムをクリアしていないとき。

ステートフルサービス

  1. ペット所有者のペットが病気であるとまったく同じペットの1を見つけることができません死んだら疾患は、1を再購入した場合ペットや家畜アナロジーは、牛農家が失う可能性があります。
  2. ステートフルサービスは、キュー、サービスデータ記憶機能を必要としている、またはサービスのマルチスレッド型にも言わなどができます。インスタンスごとに(MySQLデータベース、カフカ、飼育係、等)は、それ自身の別個の永続ストレージを必要とし、K8Sテンプレートによって定義されるように述べられています。ポッドにバインドされたポッドを作成するためのテンプレートを作成する前に述べた永続的なボリュームは、テンプレートは複数定義することができます。
 volumeClaimTemplates:
  - metadata:
      name: zookeeper
    spec:
      selector:
        matchLabels:
          app: zookeeper
      accessModes: [ "ReadWriteOnce" ]
      resources:
        requests:
          storage: 3Gi

説明:Statefulset容量減少が悲惨になる場合に、データボリュームに保存されているその非常に重要なデータは、特にStatefulset、ボリュームの減少のために、この文を削除してステートフルポッドは、アプリケーションの状態を実行するために使用されますシンプルなレプリカとしての価値を下げるような。あなたは、耐久性、長期的なボリュームの特定のボリュームを解放する必要があるときに、このような理由から、手動で対応するステートメントを削除したいです。

関連リソースをK8S:statefulSet、それはステートフルなサービスであるため、各ポッドは、特定の名前とネットワークIDを持っています。名前+ statefulSetにより、例えば、ポッド名には(0,1,2 ...)の数字を命じました

動作時の体積の減少は、1つのポッド最大の数字で始まる、容量を縮小するかを正確に知ることができます。そして、不健全な状況の存在下でStatのパットfulset例は、ボリューム縮小操作を行うことを許可されています。いつでもStatefulSet減容操作ポッドのインスタンスだけなので、アプリケーションの容量状況を縮小し、非常に高速がありません。例えば、データが失われる可能性がある、ノードのオフライン複数ながら分散ストレージアプリケーション場合。組立ラインオフの2つのノードが同時に存在する場合、両方のノードで保存するように発生した場合、例えば、データ記憶アプリケーション2へのデータ項目のコピー数は、データ・レコードは、失われます。体積の減少が線形である場合には、分散ストレージ・アプリケーションでは、データが失われないことを保証するために、他のノードに欠けているのコピーをコピーする時間を持っています。

公開された352元の記事 ウォンの賞賛390 ビュー370 000 +

おすすめ

転載: blog.csdn.net/qq_19734597/article/details/104083559
おすすめ