コントローラStatefulSetコントローラを学習kubernetes

StatefulSetはじめに

A、StatefulSet概要
StatefulSetが適用される(ステートフル)ステートフル管理するために使用される
IDポッドは、順次成長していることを確認し、StatefulSet管理ポッドを
との最大の違いは、StatefulSet展開が常にポッドに割り当てられた同じ名前のシリーズです。これらのポッドは、テンプレートから作成されたが、互いに置き換えることができない
2つのStatefulSet使用シナリオ
以下の請求項の適用のために、StatefulSet適し
必要安定した、固有のネットワーク識別(のdNSName)
それぞれ常にポッドストレージパスに対応する(PersistantVolumeClaimTemplate)
によって注文増加のコピーは、コピーを削減し、コピー削減にクリーンアップを実行し
、自動的にローリング更新を実行する安全保障秩序を

アプリケーションが安定したネットワークのアイデンティティを必要としない、または展開するために必要がない場合は、増加をコピーし、すべき展開(ステートレス)コントローラを削除します

三、StatefulSet制限

ポッドストレージのいずれかのいずれかの前に、クラスタ管理者が作成し、記憶CLAS PersistentVolumeプロビジョニングに対応することによって提供さ

ため、データのセキュリティを確保し、削除するか、またはそれに対応するデータボリュームは削除されませんStatefulSetを縮小

あなたがStatefulSetを削除すると、ポッドが正常に終了保証されません。ポッドは、エレガントで終了StatefulSetの順序に従って、あなたが前にStatefulSetを削除することができた場合は、ダウンスケールを0に 

デフォルトポッド経営方針(OrderedReady)ローリングアップデートを使用するときは、エラー状態を入力して、手動での介入が必要な場合があります

例の十分な理解とStatefulSet

StatefulSet例を作成します

以下は、次の組成によりStatefulSetの一例です。

  • ネットワークドメインを制御するためのヘッドレスサービスと呼ばれるnginxのサービス
  • 2のコピー、ウェブStatefulSetと呼ばれます
apiVersion:V1
種類:サービス
メタデータ:
  名前:nginxのサービス#headlessサービス名
  ラベル:
    アプリ:nginxの#のカスタムラベル
スペック:
  ポート:
  -ポート:80
    名前:ウェブ
  CLUSTERIP:なし
  セレクタ:
    アプリ:nginxの#関連するアプリ:nginxののポッド
--- 
apiVersion:アプリケーション / V1
種類:StatefulSet
メタデータ:
  名前:コントローラのWeb-D #statefulsetの名前
スペック:
  セレクタ:
    matchLabels:
      アプリ:nginxの#関連するアプリ:ポッドのnginxのコントロール
  serviceNameを:" nginxのサービス" #指定ヘッドレスサービス
  レプリカ:2
  テンプレート:
    メタデータ:
      ラベル:
        アプリ:nginxの#podラベル
    スペック:
      terminationGracePeriodSeconds:10
      コンテナ:
      - 名前:nginxの#podにおける船舶の名称
        画像:nginxの:1.79
        ポート:
        - containerPort:80 
          名:ウェブ

ポッドのロゴ

ポッドStatefulSetは、次のコンポーネントで構成され、一意の識別子を含みます

  • いいえ。
  • 安定したネットワークアイデンティティ
  • 安定したストレージ

いいえ。

StatefulSetのコピーの数がゼロに至るまでポッド所望の数、及びStatefulSetで一意である必要性が割り当てられるそれぞれが、Nであると仮定する。

名前がポッドである名+数StatefulSet;そのようなコンフィギュレーションファイルとして、2つのコピーが存在し、最初の名前ポッドウェブ-D-0であり、第二は、名前ポッドウェブ-D-1であります

安定したネットワークID

ウェブ-D-0、第二ポッド名: - 1)ポッド形式でStatefulSetホスト名$(statefulSet名)$(POD番号)、上記の例では、2ポッド、第一ポッドの名前を作成することであろうこれは、Web-D-1であります

2)StatefulSetヘッドレスサービスは、ドメイン彼らのポッドを制御するために使用することができ、フォーマットフィールド(ドメイン):. $(サービス名)$(名前空間).svc.cluster.localため、

上記のフィールドの例は:nginxの-service.defaule.svc.cluster.local

3)StatefulSetポッドは、各dnsNmae、フォーマット:. $(ポッド名)$(ドメイン)が割り当てられています

例えば、上記ポッドのdNSNameは、Web-D-0.nginx-server.default.svc.cluster.localで、他のポッドはアドレスによってそれを見つけることができます

 

 

 

おすすめ

転載: www.cnblogs.com/chadiandianwenrou/p/11934700.html