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

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

推薦する

オートレビューネットワークは、フランチャイズ店からの苦情に直面しているが、公式回答はまだない

5月30日、情報通のネットユーザーがDoNewsに伝えたところによると、30日正午、百度のウェブサイ...

Webmaster Network からの毎日のレポート: Facebook が新機能をテスト、テクノロジー企業が Web 標準を推進

1. Facebookと小売業者が「欲しい」ボタンをテスト北京時間10月9日朝のニュースによると、F...

ウェブサイトのエクスペリエンス: ページユーザーのクリック率を向上させる方法

現在、ユーザーの需要が優勢になっています。では、どうすればユーザーを積極的にフォローし、ウェブサイト...

sharktech-4gメモリ/1.5Tハードディスク/100M無制限/スーパーポータブルD 50G/69ドル

ご存知のとおり、Sharktech は米国で最も強力なプロ用 D キャリアとして知られています。どれ...

ニュースウェブサイトはどうやって収益を得るのでしょうか? BuzzFeedとDishをチェック

[はじめに] BuzzFeed と Dish は、従来のニュース サイトの収益モデルを覆し、有料ニュ...

desivps: 新しいロサンゼルス NVMe シリーズ VPS、年間 20 ドルから、1G メモリ/1 コア/10gNVMe/1.5T トラフィック/1Gbps 帯域幅

desivps はロサンゼルスのコンピュータ ルームに NVMe SSD シリーズ VPS を新たに...

GitOps とは | DevOps を Kubernetes とその先へ拡張

プログラミングの分野では、過去 10 年間に多くの革命的な変化が起こりました。その 1 つは、開発チ...

新しいウェブサイト Baidu の重みを 0 から 1 に最適化するパス

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービスウェブサイトのBaidu...

NetApp、ハイブリッドクラウドデータ管理ソリューションを発表

NetApp は本日、ハイブリッド クラウド全体で顧客がデータを最大限に制御し、データ移動のセキュリ...

ピンドゥオドゥオの「内部論理」は変化した

明らかな認識の一つは、私たちがよく知っているPinduoduoが変化しているということです。 Pin...

SEO最適化のための強力なツールであるBaidu Statisticsの5つの主要機能の詳細な説明

みなさんこんにちは、張柯です。今日は百度の統計ツールについてお話ししたいと思います。百度は統計ツール...

インテルはクラウドからエンドまで新しいテクノロジーをリリースし、業界のイノベーションによる現在および将来の課題の解決を可能にします |インテルビジョン

世界市場は最もダイナミックな時代を迎えています。人間の生活のあらゆる側面が急速にデジタル化へと向かっ...

テレビのソフトマーケティング:貴族と平民は違うゲームをする

夏休みももうすぐ終わりですが、夏休みは人気ドラマのゴールデンシーズンなので、大手企業も中小企業もこの...

budgetvm-Alipay決済が正式に開始

海外で人気の VPS 販売業者 budgetvm がついに Alipay 決済機能の提供を開始し、中...

SaaS、IaaS、BPaaSが繁栄する

市場調査会社やテクノロジー大手の調査によると、2019 年には SaaS、IaaS、PaaS などの...