インフラストラクチャのコストを可能な限り低く抑えるために、使用されていない特定のリソースをシャットダウンすることができます。ただし、ここでの課題は、必要なときにリソースを自動的にオンにする方法を決定することです。この記事では、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プログラムを開始
Weiboクライアントを開くと、最初に目にするのは数秒間の全画面広告です。モバイルゲームをプレイして...
地域フォーラムとして、ローカルフォーラムは強い地域特性を持ち、特定の地域市場におけるウェブマスターの...
1. 概要 Prometheus 監視アラート ルールを作成することで、特定の Prometheus...
IT と運用技術の境界線は曖昧になっています。エッジ コンピューティングは IT と OT の関係を...
pnzhostは2009年に設立された新しいホスティング会社です。主にVPSと専用サーバー事業を運営...
6月28日、2018 Mobile World Congress(上海)において、UCloudとCh...
クラウド コンピューティング市場を支配しているクラウド コンテナ テクノロジーは、従来のハイパーバイ...
この記事は、Ubuntu 18.04 Bionic Beaver の新規インストールに Webmin...
SEO はウェブサイト運営に欠かせない要素であり、オンライン マーケティングにおける「氷山の一角」で...
[[389544]]業界の専門家は、クラウド コンピューティング テクノロジーにより、組織が大規模な...
データとアプリケーションをクラウドに移行する企業は、いくつかの考慮事項を理解し、クラウド移行を完了す...
原題: 新華社、チケット奪取プラグインの停止についてコメント: 自分が愚かなら、他人が賢すぎると責め...
Huawei Cloud Distributed Cache Redis サービスは、Redis と...
[[252954]] Wikipedia によると、クラウド コンピューティングとは、インターネット...
新華網、北京、6月5日(記者:屈静)記者が5日、国家新聞出版広電総局から得た情報によると、Sina....