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 つをどのように選択すればよいでしょうか?

推薦する

hostodo: 新しいデトロイト VPS、年間 10 ドルから、1G メモリ/1 コア/16g NVMe/3T トラフィック/1Gbps 帯域幅

Hostodo は、米国デトロイトのデータセンターに新しい VPS サービスを追加しました。価格は年...

あらゆるものがインテリジェントに相互接続される時代について専門家が議論します。 Techo TVP IoT開発者サミットが成功裏に終了

2020年には、IoT接続数が初めて非IoT接続数を上回りました。 「あらゆるもののインターネット」...

ブラックジューンからセプテンバーまでのウェブマスターの努力

6 月のブラック ストームは、多くのウェブマスターの友人を「悲痛な思い」にさせたに違いありません。当...

QQとQQグループの簡単なプロモーション方法について簡単に説明します

精度の高い無料プロモーションといえば、QQとQQグループプロモーションが最高です。テンセントQQは登...

#再入荷のお知らせ#: BandwagonHost の香港/日本/米国/オーストラリア/ドバイなどの限定版 VPS。

安価な VPS を購入したいですか? BandwagonHost から特別版 VPS を購入したいで...

sparkedhost: マイアミの AMD 高性能 VPS、100G の高防御、月額 10 ドル、2G メモリ/1 コア/25g NVMe/1.5T トラフィック

sparkedhost は 2011 年 7 月に米国コネチカット州で登録されました。同社は 201...

庭の手入れのように: ソーシャルメディアで存在感を発揮するための 5 つの教訓

はじめに: 私たちは皆、WeiboとWeChatを使用していますが、プレイ、操作、構築は異なります。...

シニアアーキテクトの技術共有: 分散システムのパーティショニングの詳細な説明

データ複製は冗長なプロセスです。冗長性により可用性が向上し、読み取り負荷を効果的に分散できます。デー...

ウェブサイト最適化におけるウェブサイトの品質を判断するための4文字の原則

検索市場における堅実で信頼性の高いウェブサイトは、あらゆる SEO のベンチマーク目標の 1 つです...

百度が電子商取引の環境を再構築:愛楽火が5000万ドル以上を調達

「愛楽火」に初めてログインしたユーザーにとって、「美麗速」と「点評」の両方に似たウェブサイトから、こ...

IBM は Redhat を 334 億ドルで買収します。これにより、クラウドの状況は完全に変わり、世界一のハイブリッド クラウド プロバイダーになります。

IBMがRED HATを買収し、クラウド業界に革命を起こし、世界一のハイブリッドクラウドプロバイダー...

Weiboソフトコンテンツマーケティングをより効果的にするにはどうすればいいでしょうか?

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービスご存知のとおり、Weib...

Ceen TaobaoアフィリエイトコンテストIIレポート:クリスマスの戦いが終わり、新人の王が包囲から抜け出す

2012年最後のクリスマスはカーニバルで終わり、Ceen「世界有名靴タオバオ顧客」プロモーションコン...

デジタル時代の革新力への洞察、クラウドパワーカンファレンスと2023TECH第5回デジタル中国テクノロジー年次カンファレンスが開幕

4月25日、神州ホールディングス、神州情報、神州デジタルグループが共催するデジタルクラウドパワーカン...

マイクロソフト クラウド コンピューティング Azure 中国サービス プラットフォームがリリース

マイクロソフトが2008年10月末にリリースしたクラウドコンピューティングオペレーティングシステムで...