Kubernetesを一緒に学ぶ: 自動スケーリング

Kubernetesを一緒に学ぶ: 自動スケーリング

Kubernetes では、現在のリソース要件に基づいてワークロードをスケーリングできます。これにより、クラスターはリソース需要の変化に対してより柔軟かつ効率的に反応できるようになります。

ワークロードをスケーリングする場合、ワークロードに使用できるリソースを増減したり、レプリカのサイズを変更したりできます。

最初の方法は水平スケーリングと呼ばれ、2 番目の方法は垂直スケーリングと呼ばれます。

  • 水平スケーリング: アプリケーションの複数のインスタンスを実行する
  • 垂直スケーリング: コンテナに割り当てられたCPUとメモリリソースのサイズを調整します

ワークロードをスケーリングする方法には手動と自動がありますが、自動方法が重視されます。

ワークロードを手動でスケーリングする

Kubernetes はワークロードの手動スケーリングをサポートしています。水平スケーリングは kubeclt CLI を使用して実行できます。垂直スケーリングには、  パッチ ワークロードのリソース定義。

ワークロードを自動的にスケーリング

Kubernetes は、ワークロードの自動スケーリング、つまり自動水平スケーリングと自動垂直スケーリングもサポートしています。

Kubernetes での自動スケーリングとは、一連の Pod を管理するオブジェクトを自動的に更新することを指します。

ワークロードを水平に拡張する

Kubernetesでは、  水平ポッドオートスケーラー  (HPA) はワークロードを水平方向に自動的にスケーリングします。

これは Kubernetes API リソースおよびコントローラーとして実装され、CPU やメモリ使用量などの観測されたリソース使用率に合わせてレプリカの数を定期的に調整します。

HPAワークフロー

HPA

ワークロードを垂直に拡張する

機能ステータス: Kubernetes v1.25 [安定版]

Kubernetesでは、  垂直ポッドオートスケーラー  (VPA) ワークロードの自動垂直スケーリング。しかし、HPA とは異なり、VPA はデフォルトで Kubernetes に付属しておらず、別のプロジェクトです。

 VPA项目地址https://github.com/kubernetes/autoscaler/tree/9f87b78df0f1d6e142234bb32e8acbd71295585a/vertical-pod-autoscaler。

インストールが完了すると、管理対象レプリカのリソースをいつどのようにスケーリングするかを定義する CustomResourceDefinitions (CRD) を作成できます。

注: HPA が適切に動作するには、クラスターに Metrics Server をインストールする必要があります。

VPA ワークフロー:

VPA

現在、VPA は次の 4 つのモードで動作できます。

モデル

説明する

オート

現在、再作成を使用していますが、将来的にはインプレース更新に変更される可能性があります。

再現する

VPA は、ポッドの作成時にリソース要求を割り当て、要求されたリソースが新しい推奨事項と大幅に異なる場合は既存のポッドを 1 つずつ更新します。つまり、ポッドを再構築してリソースを更新します。

イニシャル

VPA は、ポッドの作成時にのみリソース要求を割り当て、その後は変更しません。

オフ

VPA は Pod のリソース要件を自動的に変更しません。

インプレースサイズ変更の制限

機能ステータス: Kubernetes v1.27 [アルファ]

再起動せずにポッドとコンテナのワークロードのサイズを変更するには、現在、Kubernetes バージョン 1.27 以降が必要です。
さらに、機能ゲート「InPlaceVerticalScaling」を有効にする必要があります。

クラスターサイズに基づく自動スケーリング

クラスターのサイズ (またはその他のシステム コンポーネントなど) に基づいてスケーリングする必要があるワークロードの場合は、Cluster Proportional Autoscaler (CPA) を使用できます。

VPA と同様に、CPA は Kubernetes コアの一部ではありませんが、GitHub に独自のプロジェクトがあります。

 CPA项目地址https://github.com/kubernetes-sigs/cluster-proportional-autoscaler。

クラスター比例オートスケーラーは、スケジュール可能なノードとコアの数を監視し、それに応じてターゲットワークロードのレプリカの数をスケーリングします。

レプリカの数を一定に保つ必要がある場合は、クラスター比例垂直オートスケーラーを使用して、クラスターのサイズに基づいてワークロードを垂直にスケーリングできます。プロジェクトは現在テスト段階にあります。

クラスター比例オートスケーラーはワークロードのレプリカの数をスケーリングしますが、クラスター比例垂直オートスケーラーは、クラスター内のノードまたはコアの数に基づいてワークロード (デプロイメントや DaemonSet など) のリソース要求を調整します。

イベント駆動型自動スケーリング

また、イベントに基づいてワークロードをスケールすることもできます。   Kubernetes イベント駆動型オートスケーラー (KEDA)。

ケダ

KEDA は、DevOps、SRE、および Ops チームが外部イベントまたはトリガーに基づいて Pod を水平方向にスケーリングするために使用する、軽量のオープンソース Kubernetes イベント駆動型オートスケーラーです。 KEDA は、CPU やメモリなどの標準リソース メトリックに依存するネイティブ Kubernetes 自動スケーリング ソリューションの機能を拡張するのに役立ちます。 KEDA を Kubernetes クラスターにデプロイし、カスタム リソース定義 (CRD) を使用してポッドのスケーリングを管理できます。

KEDA は、キュー内のメッセージ数など、処理するイベント数に基づいてワークロードをスケーリングできる CNCF 卒業プロジェクトです。さまざまなイベント ソースに合わせて、さまざまなアダプターを選択できます。

スケジュールベースの自動スケーリング

ワークロードをスケーリングするためのもう 1 つの戦略は、たとえば、オフピーク時のリソース消費を削減するためにスケーリング操作をスケジュールすることです。

イベント駆動型の自動スケーリングと同様に、この動作は KEDA とその Cron スケーリング コントローラと組み合わせて使用​​することができ、ワークロードのスケールインまたはスケールアウトのスケジュールを定義できます。

クラスターインフラストラクチャの拡張

ワークロードをスケーリングするだけではニーズを満たせない場合は、クラスター インフラストラクチャ自体をスケーリングすることもできます。

クラスターのスケーリング

クラスター インフラストラクチャをスケーリングすることは、通常、ノードを追加または削除することを意味します。これは、利用可能な 2 つの自動スケーラーのいずれかを使用して実行できます。

  • クラスターオートスケーラー
  • カーペンター

両方のエクスパンダーは、スケジュール不可または十分に使用されていないとマークされたノードを監視し、必要に応じてノードを追加または削除することによって機能します。

要約する

Kubernetes での自動スケーリングとは、Pod を管理するワークロードを自動的に更新し、最終的にワークロードが Pod 定義を更新して自動スケーリングを実現することを指します。主に以下の解決策があります。

  • HPA: 水平スケーリング、Podインスタンス数の拡大と縮小
  • VPA: ポッド内のコンテナのCPUまたはメモリリソースを垂直に拡張または縮小するスケーリング
  • CPA: 比例スケーリング、HPAはクラスターのサイズに比例して実行されます
  • KEDA: イベント駆動型スケーリング、外部イベントまたはトリガーに基づいてポッドを水平方向にスケーリングする
  • クラスターノードのスケーリング: 必要に応じてクラスター内のワーカーノードを追加または削除します。

<<:  CRUD プログラマーしか知らない友人の皆さん、クラウド コンピューティング テクノロジーを採用し始めましたか?

>>:  地方におけるエッジコンピューティング:デジタル格差の解消

推薦する

Dynatrace が Double Eleven を獲得し、AI フルスタック運用の新たな章を開く

クレイジーなダブルイレブンは、10年間のカーニバルを経て新記録を樹立しました。 2018年、天猫の双...

Arvixe をおすすめします - すべてのアイテムが 50% オフ/仮想ホスト/再販業者/cpanel ライセンス付き VPS (softlayer)

arvixe.comは、2月17日から2月21日(太平洋標準時間)まで、すべての仮想ホストとVPSを...

hudsonvalleyhost-$5/Windows/768m メモリ/20g ハードディスク/3T トラフィック

hudsonvalleyhost の VPS がプロモーション中です。特に魅力的なのは、768 MB...

ティアン・フェンリン:SEOは単なるキーワードランキングではない

私はよくこのような顧客に出会いますが、彼らは自分の要求を直接提示します。 「キーワードXXXXがどの...

高級品電子商取引の起業家は、「越冬理論」がヒットした後、期待が高すぎたことを認めている

深センの記者一同 斉文亭数年にわたる高成長の後、高級品電子商取引は全体的に冬の時代を迎えました。最近...

A5ウェブマスターネットワークYuehuaiマーケティングチーム:「ブラック」6月の降格に関する概要レポート

6月はウェブマスターたちの間で大騒ぎが起こりました。次々とアップデートが行われ、「有名なウェブサイト...

初心者が本物のSEO担当者になるために直面​​するいくつかの大きな問題

初心者の場合は、指導してくれる人がいるのが最善です。しかし、何があってもすべては人間の努力にかかって...

OpenStack仮想マシンネットワークに問題があることがわかったら、まずは以下の16の手順を試してください。

1. すべてのセキュリティ グループを開きます。これは最も基本的なことですが、多くの人が忘れがちです...

JavaフレームワークRedis分散キャッシュ

[[269630]] https://dzone.com/articles/java-distrib...

共同購入は粗利益の活路を模索:住宅コミュニティにサービスを提供するために製品単価を上げる

不安定な共同購入業界は、再び「寒波」に見舞われているようだ。共同購入ナビゲーションサイト「Tuan8...

オリジナルコンテンツにこだわりすぎてウェブサイト運営に迷わない

検索エンジンのアルゴリズムが継続的に変更され、特にGreen RadishやPomegranateな...

ブランドマーケティングのやり方、習得すべき4つの基本スキル

マーケティングとは何ですか?マーケティングは、企業に一定の利益をもたらしながら顧客のニーズを満たす手...

ウェブマスターネットワークニュース:余額宝が銀行の中核を侵略し、タオバオポイントが表面化

1. 蘇狗の運命はまもなく決まり、7月に主要な戦略が発表されるテンセントテクノロジーは、Sogouが...