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

推薦する

データセンター事業者がクラウド移行のトレンドを捉える方法

データ センター オペレーターは、企業がワークロードをクラウドに戻す傾向に備えるために、次の手順を実...

vultr - 最も詳細でわかりやすい - vultr インストール Windows チュートリアル

Vultr は、私が気に入っているアメリカの VPS の 1 つです。まず、強力な資本と技術的背景が...

ウェブサイトキーワードBaiduランキングの劇的な変動の分析

ウェブサイトや SEO に携わる友人は、Baidu が最近アルゴリズムを調整し、ウェブサイトのキーワ...

PyramidServer-1gメモリKVM月額支払い6.9ドル/ダラス

Pyramid Server は 2010 年に正式に会社として運営を開始しましたが、その始まりは ...

人材ネットワーク運営において、訪問者を遠ざける煩雑な登録を回避する方法

求人サイトで求人に応募したことがある人なら誰でも、面倒な登録手続きに不安を感じるという私と同じ気持ち...

推奨: sugarhosts-$6.95/Xen/768 メモリ/10gSSD/China Telecom/China Unicom/デュアル直接接続

sugarhostsは正式にVPSをアップグレードし、SSDハードディスクVPSの価格を下げ、ハード...

パブリッククラウドにさらなる成長の余地を与えてください

もちろん、パブリック クラウドはまだ初期段階にあり、何らかの問題が避けられないことを認識しておく必要...

クラウドへの移行を準備する方法

データをクラウドに移行する前に、中断を避けるために、徹底的かつ簡単な手順をいくつか実行してください。...

raksmart: サンノゼのBGPネットワークサーバーの簡単なレビューで、raksmartサーバーがいかに優れているかを説明します。

raksmart サーバーはどうですか?昔ながらのアメリカのコンピュータルームである raksmar...

hosthatch-$14/年/128M メモリ/10g SSD/500G トラフィック/無料 SSL/スウェーデン

Hosthatch では、スウェーデンのデータセンターに設置された、128M メモリ、SSD 搭載、...

重要な報告 |今後のデジタル開発における9つの主要トレンド

2月20日、アリババクラウドリサーチセンターは「2019年デジタルトレンドレポート」を発表しました。...

ウェブサイトに価値ある外部リンクを作成する方法についての簡単な説明

外部リンクの投稿は、すべてのウェブサイト最適化の専門家が行うべきことの 1 つです。外部リンクを投稿...

強化された制御、統合、スケーラビリティ、コンテナサポートを備えた Red Hat Ansible Tower 3.3 がリリースされました

オープンソース ソリューションの大手グローバル プロバイダーである Red Hat, Inc. (N...

中小企業はネットワークマーケティングをどのように正しく扱うべきか

中国インターネット発展に関する第29回統計報告によると、2011年12月末までに、中国のインターネッ...