K8S ステートレスおよびステートフル、初心者向けガイド!

K8S ステートレスおよびステートフル、初心者向けガイド!

Kubernetes は、コンテナ化されたアプリケーションの展開、スケーリング、管理を自動化するためのオープンソースのオーケストレーション システムです。

Kubernetes の詳細については、Kubernetes ガイド (https://devtron.ai/blog/developers-guide-to-kubernetes/) を参照してください。

Kubernetes は、Pod と呼ばれる基本リソースを提供します。 Pod は Kubernetes でデプロイ可能な最小の単位で、実際にはコンテナのラッパーです。 1 つ以上のコンテナ、共有ストレージ/ネットワーク、およびコンテナの実行方法の仕様を持つことができます。

ポッドは一時的なエンティティと見なされます。ポッドがスケジュールされているノードが停止した場合、ポッドは削除され、タイムアウト後に再スケジュールされます。

ポッドは Kubernetes 内のユニットを表します。水平スケーリング (つまり、複数のインスタンスの実行) の場合、アプリケーションには複数のポッドが必要です。ポッドを複製して水平スケーリングを実現します。複製されたポッドはコントローラーによって作成および管理されます。

ポッドレプリカ管理用コントローラ

1. 展開

デプロイメントは、アプリケーションをデプロイするための最も単純かつ最も一般的に使用されるリソースです。 ReplicaSets の展開を管理します。デプロイメントを定義して、更新、新しいレプリカセットの作成、または既存のデプロイメントの削除を行うことができます。 Deployment の主な機能は、ポッドと ReplicaSet の宣言的な更新を提供することです。

デプロイメントは、次の目標を達成するのに役立ちます。

  • ReplicaSet を展開すると、バックグラウンドでポッドが作成されます。ロールアウトのステータスをチェックして、成功したかどうかを確認できます。
  • ポッドの新しい状態を宣言する - デプロイメント マニフェストの PodTemplateSpec を更新できます。新しい ReplicaSet が作成され、Deployment は制御された速度で古い ReplicaSet から新しい ReplicaSet に Pod を移動します。これで、新しいレプリカセットごとにデプロイメントの更新されたバージョンが含まれるようになります。
  • 以前のデプロイメント リビジョンへのロールバック - 何らかの状況により現在の状態が安定していない場合は、デプロイメントを以前のデプロイメント リビジョンにロールバックできます。

Deployment では提供されないものは何ですか?

  • ポッドの識別子は提供されません。
  • ポッド用のストレージは提供されないため、ステートレス アプリケーション (使用されているネットワークを気にせず、永続的なストレージを必要としないアプリケーション。たとえば、Apache、Nginx、Tomcat などの Web サーバー) にのみ使用されます。

2. ステートフルセット

これは、ステートフル アプリケーションを管理するために使用される Kubernetes リソースです。一連の Pod のデプロイメントとスケーリングを管理し、Pod の順序と一意性を保証します。

Deployment とは異なり、StatefulSet は各ポッドの ID を維持します。各ポッドには、スケジュール全体で一定に保たれる永続的な識別子があります。

たとえば、flag という名前の StatefulSet を作成すると、flag-0 という名前のポッドが作成され、StatefulSet の複数のレプリカに対して、ポッド名は flag-0、flag-1、flag-2 のように増加します。

各ノードには独自の永続ボリュームがあります。ポッドを削除または縮小しても、ポッドに関連付けられているボリュームは削除されないため、データは保持されます。

デプロイメントボリュームとステートフルセットボリュームの違い

  • デプロイメント: 「ステートレス アプリケーション」に使用されます。ボリューム (PVC) はポッド間で共有されます。共有ボリュームにはデータがないため、データ漏洩の問題が発生します。
  • StatefulSet: 「ステートフル アプリケーション」用。 PVC はその中に情報を保存し、その結果、すべてのポッド間で情報が共有されることになります。

デプロイメントとステートフルセットでの PVC の使用

アクセス モードを使用すると、PVC を Deployment と StatefulSet 全体で使用できます。アクセス モードは次の 3 つあります。

  • ReadWriteOnce: ボリュームを単一ノードの読み取り/書き込みとしてマウントします。
  • ReadOnlyMany: ボリュームを読み取り専用として複数のノードにマウントします。
  • ReadWriteMany: ボリュームを複数のノードに読み取り/書き込み可能としてマウントします。

展開

デプロイメントに PVC が指定されると、すべてのレプリカ ポッド間で共有されます。この場合、PVC には ReadWriteMany または ReadOnlyMany アクセス モードが必要です (ReadWriteMany はまれであり、少数のストレージ プロバイダーでのみサポートされています)。

ReadWriteOnce アクセス モードで PVC を作成し、ステートフル アプリケーションを作成して実行しようとすると、正常に動作します。スケールアウトすると、新しいポッドが起動したときに、ボリュームがすでに使用中であることを示すエラーが表示されます。

したがって、この場合は、エラーを回避するために読み取り専用ボリュームを使用することをお勧めします。

ステートフルセット

StatefulSet の PVC を指定する場合、PVC に ReadWriteOnce アクセス モードがあることを確認する必要があります。

StatefulSet を使用して、各レプリカの PVC を自動的に作成する VolumeClaimTemplate を定義します。

もう 1 つの利点は、アプリケーションと永続ボリュームを定義する単一のファイルが存在することです。アプリケーションのスケーラビリティがさらに向上します。

元記事: https://medium.com/container-talks/kubernetes-deployment-vs-statefulset-what-you-need-to-know-1a281e1d3c2c

<<:  ついにクラウドコンピューティングとデジタルトランスフォーメーションの関係を説明する人が現れる

>>:  Dockerfiles と Buildpacks を理解するための 7 つの画像、この 2 つをどのように選択すればよいでしょうか?

推薦する

sharktech: 月額 509 ドル、10Gbps 帯域幅、無制限トラフィック、2*e5-2670/32g メモリ/2T ハードディスク/5IP/60g 防御

Sharktech は、16 年間運営されているアメリカのコンピューター ルームの老舗ブランドです。...

古いサイトを最適化するときは、安定したランキングを得るために過度に最適化してはいけません。

私はウェブマスターとして3、4年になります。この間、古いサイトを最適化するのは簡単ではないと気づきま...

SEO成長フォーミュラを持つSEO成長ハッカーと呼んでください

グロースハッキングは、過去 2 年間で非常に人気の職業です。最初は海外から導入され、その後、さまざま...

Huawei Cloud はデジタル化に注力しており、すべてがサービスです。

[中国・深セン、2021年9月23日] Huawei Connect 2021が9月23日に開幕しま...

検索エンジンの長期的成功の秘密:ユーザー当たりの収益が同業他社よりはるかに高い

[要約] インターネットビジネスの収益貢献度という点では、検索エンジンは他のメディアやソーシャルネッ...

SEO担当者はエンジニアではなくアーティストである

最近の草の根ウェブマスターのほとんどは理工学を専攻し、多かれ少なかれエンジニアに似た職業に就き、技術...

ウェブサイト運営にあたっての準備はどのようなものがありますか?

ますます多くのウェブマスターの友人が、現在、ウェブサイト、特に一部の企業ウェブサイトや個人の草の根ウ...

ウェブサイト構築に推奨されるクラシック VPS: Kazila - $7/Xen/4 コア/1g メモリ/20g SSD/1T トラフィック

Kazila のプロモーションを見たとき、これを投稿しなければなりませんでした。Kazila、この ...

domain.com/netfirms.com - ホスティング 30% オフ/無制限のスペース/無制限のトラフィック/無制限の Web サイト構築

EIG の専門ドメイン名ビジネス ブランド domain.com と仮想ホスティング ブランド ne...

移植性と相互運用性: マルチクラウド成功の秘訣​

多くの企業は、ビジネス運営の効率、俊敏性、フォールト トレランスを向上させるために複数のクラウド プ...

dedipathはどうですか?ダラスデータセンターVPSの簡単なレビュー

dedipath は米国中部のダラスに独自のデータセンターを持ち、ダラスで VPS および専用サーバ...

ウェブサイトがブロックされた場合、苦情を言うだけでは解決にはなりません。原因を見つけることが解決策です。

最近、百度は力を見せつけています。6月22日には大量のウェブサイトを禁止し、6月28日には別の一群の...

インターネット上で広く流布されているSEO最適化の詳細に対する反論

Baidu のアルゴリズムが調整を続ける中、インターネット上では悲しみが広がっている。その後、多くの...

IBM、AT&Tと複数年にわたる数十億ドル規模のクラウドコンピューティング契約を締結

7月17日のニュース、海外メディアの報道によると、現地時間の火曜日、IBMは同社がAT&Tと...