インフラストラクチャのコストを可能な限り低く抑えるために、使用されていない特定のリソースをシャットダウンすることができます。ただし、ここでの課題は、必要なときにリソースを自動的にオンにする方法を決定することです。この記事では、Linode Kubernetes Engine (LKE) を使用して Kubernetes クラスターをデプロイし、Kubernetes Events-Driven Autoscaler (KEDA) を使用してそれをゼロにスケールダウンし、再度スケールアップする方法を説明します。 Linode が Akamai ソリューション ファミリーに加わったことを記念して、今すぐ Linode に登録して、Linode クラウド プラットフォームが提供するさまざまなサービスを使用するための 100 ドル相当の無料使用クレジットを獲得しましょう。詳細と登録については、ここをクリックしてください↓↓↓ 海外クラウドサービスならAkamaiが最適です!なぜゼロに縮小するのですか?Kubernetes 上で一般的なリソース集約型アプリケーションが実行されているが、そのアプリケーションを実行する必要があるのは営業時間中だけだとします。全員が退社するときに電源をオフにし、仕事に着いたら自動的に電源をオンに戻すようにしたい場合があります。 使用されていない開発環境をシャットダウンする必要がある場合があります。 この時点では、CronJob を使用してインスタンスをスケーリングできますが、これは一時的な対策にすぎず、事前に設定されたスケジュールに従ってのみ実行できます。 週末は何が起こるでしょうか?祝日はどうですか?チーム全員が病気で出勤できない場合はどうなるでしょうか? 増え続けるルールのリストをコンパイルするのではなく、トラフィックに基づいてワークロードをスケーリングできます。トラフィックが増加すると、レプリカの数を拡張できます。トラフィックがない場合、アプリケーション全体をシャットダウンできます。アプリケーションがシャットダウンされ、新しい着信リクエストを受信すると、Kubernetes はトラフィックを処理するために少なくとも 1 つのレプリカを開始します。 アプリケーションをゼロにスケールダウンするとリソースを節約できます 以下にその方法を説明します。
ご参考までに、関連コードが公開されています。 LearnK8s GitHub。 クラスターの作成まず、Kubernetes クラスターを作成する必要があります。次のコマンドを使用してクラスターを作成し、kubeconfig ファイルを保存します。 次のコマンドを実行すると、インストール プロセスが成功したことを確認できます。 多くの場合、環境変数を使用して kubeconfig ファイルをエクスポートすると便利です。これを行うには、次のコマンドを実行します。 次に、アプリケーションをデプロイする必要があります。 アプリケーションをデプロイする
次のコマンドを使用して YAML ファイルを送信します。 ブラウザを開いてアプリにアクセスするには、 ローカルホスト:8080。 その後、アプリが表示されるはずです。 次に、この例で使用するオートスケーラーである KEDA をインストールする必要があります。 KEDA: Kubernetes イベント駆動型オートスケーラーKubernetesが提供するもの Horizontal Pod Autoscaler (HPA) をコントローラーとして使用して、レプリカの数を動的に増減できます。ただし、HPA にはいくつかの欠点があります。
幸いなことに、公式の Autoscaler の使用に限定されず、KEDA も使用できます。ケダ 次の 3 つのコンポーネント用に構築されたオートスケーラー:
KEDAアーキテクチャ スケーラーはアダプタに似ており、データベース、メッセージブローカー、テレメトリシステムなどからメトリクスを収集できます。たとえば、HTTPスケーラー このアダプタは HTTP トラフィックを傍受して収集できます。ここで、RabbitMQ を使用した Scaler の例を見ることができます。 メトリック アダプターは、スケーラーによって収集されたメトリックを、Kubernetes メトリック パイプラインで使用できる形式でエクスポートする役割を担います。 最後に、コントローラーはこれらすべてのコンポーネントを結び付けます。
理論的な紹介はこれですべてです。実際にどのように機能するかを見てみましょう。 Helm を使用すると、コントローラーをすばやくインストールできます。詳しい手順と紹介については、 Helm公式サイト。 KEDA にはデフォルトで HTTP Scaler が含まれていないため、別途インストールする必要があります。 その後、アプリケーションを拡張できます。 自動スケーリングポリシーの定義KEDA の HTTP アドオンは、アプリケーションを拡張する方法を記述できる CRD を公開します。例を見てみましょう: このファイルはインターセプターに http://example.com リクエストは podinfo サービスに転送されます。 KEDA と HTTP インターセプター 拡張する必要があるデプロイメントの名前も含まれています。この場合は ポッドインフォ。 次のコマンドを使用して、YAML をクラスターに送信します。 上記の定義を送信した後、Pod は削除されました。なぜこのようなことが起こるのでしょうか? HTTPScaledObject を作成した後、現時点ではトラフィックがないため、KEDA はすぐにデプロイメントをゼロにスケールダウンします。 スケーリングするには、アプリケーションに HTTP リクエストを送信する必要があります。サービスに接続してリクエストしてみてください。 このコマンドはハングしています。 現在、リクエストを処理できる Pod がないため、この動作は妥当です。しかし、Kubernetes はこのデプロイメントを 1 にスケールしなかったのはなぜでしょうか? KEDAインターセプターのテストHelm を使用してアドオンをインストールすると、keda-add-ons-http-interceptor-proxy という Kubernetes サービスが作成されます。自動スケーリングが適切に機能するには、まず HTTP トラフィックをこのサービス経由でルーティングする必要があります。これを kubectl port-forward でテストできます。 今回はブラウザでURLにアクセスできません。 Ingress での KEDA HTTP アドインの使用Helm を使用して Nginx-ingress コントローラーをインストールできます。 次に、トラフィックを podinfo にルーティングするための Ingress マニフェストを記述します。 次のコマンドを実行すると、ロード バランサーの IP アドレスを取得できます。 最後に、次のコマンドを使用してアプリケーションにリクエストを発行します。 それは動作します!十分に長く待つと、デプロイメントが最終的にゼロに縮小されることにも気付くでしょう。 これは Kubernetes 上の Serverless とどう違うのでしょうか?この構成は、Kubernetes 上のサーバーレス フレームワーク (OpenFaaS など) とはいくつかの重要な違いがあります。
この記事の内容は大丈夫でしょうか?今すぐ Linode プラットフォームで試してみませんか?今すぐ登録すると、100 ドル相当の無料クレジットを獲得できることをお忘れなく。早速、この記事で紹介した機能やサービスを実際に体験してみましょう↓↓↓ 海外クラウドサービスならAkamaiが最適です!フォローを歓迎します アカマイ 、高可用性 MySQL/MariaDB リファレンス アーキテクチャと豊富なアプリケーション例を初めて知ることができます。 |
<<: ジェネラル・ダイナミクスがマルチクラウド戦略を次のレベルへ
>>: マイクロソフト、クラウド移行のための企業向けビジネス管理ツールを提供するAIMプログラムを開始
Cloudsilk は新年に向けて特別な VPS プロモーションを開始しました。全アイテムが 15%...
Googleは5月31日、今秋から「Google Product Search」の名称を「Googl...
著者 |シルヴァン・カラシュ翻訳者 |張野貴 Kubernetes (略して K8s)上のデータ サ...
本日の記事では、グラフを使用して分散一貫性の実装原則を深く研究し、理解します。まず、自己を見つめ直す...
2017年、モバイルインターネットは荒波に見舞われました。一方では、数え切れないほどの起業家が突き進...
Virpus のブラックフライデー プロモーションが始まりました。これは素晴らしいです。サイト全体の...
2012年1月12日、ドメイン名の個人登録の許可は、ドメイン名業界で常に最も議論されているトピックで...
[51CTO.com クイック翻訳] Amazon、Microsoft、Google などの大企業は...
Kubernetes クラスターを使用してサービスを実行し、サービスを提供するアプリケーションは ...
7月31日から8月1日まで、世界のハッカーが集まる「ブラックハットカンファレンス」が米国ラスベガスで...
新年最初の1ヶ月は静かに過ぎていきました。昨年と比べて、年初におけるモバイル広告購入にはどのような変...
2020 年にマシンをオンラインにするには、8 つのサービス間を行ったり来たりする必要がありますが、...
前回の記事「本当にSEOをやっていると思いますか?」では、私が考える本当のSEOとは、あらゆる手段を...
要約:今回の提携の背景には、Xiaomiがこれまでの手法を模倣しただけでなく、Baidu Tieba...
[[420540]] 1. 基本Diff アルゴリズムは、仮想 DOM の最小限の更新を実装します。...