deployment展開の構成が表示されます。デプロイメントのCPU使用率に指定されたリソース制限とリクエストを設定できるようになりました。これらの制限により、この展開のポッドが個別に使用できる各リソースの量のベースラインが設定されます。これを設定すると、ポッドが酷使されているかどうかを知るための参照フレームがHPAに与えられます。+」の上限があると予想し、現在ポッドが95ミリコアを使用している場合、HPAは95%の容量であることを認識します。100ミリコアという制限を設けないと、HPAはポッドの全容量を解読できません。これらの値は、デモンストレーションを目的としています。すべてのワークロードは異なるため、これらの値は他のワークロードには意味がない場合があります。一般的なルールとして、これらの値は、このワークロードのポッドが使用すると予想される最大値に設定する必要があります。これらの値を決定するには、アプリケーションを監視し、低い時間とピーク時間でのアプリケーションのパフォーマンスに関するリソース使用状況データを収集することをお勧めします。これらの値はいつでも調整および変更できるため、いつでも戻ってデプロイメントを最適化できます。resources`セクションの下に次の強調表示された行を挿入します。.これらの行を挿入したら、ファイルを保存して終了します。+」はファイルを再度開きます。詳細についてはエラーが投稿されます。制限とリクエストを設定したら、HPAがこれらの制限を監視して正しく遵守できるように、メトリックが収集されていることを確認する必要があります。これを行うには、CPUメトリックを収集するサービスを設定します。Serverプロジェクトを使用してこれらのメトリックを収集し、Helmチャートとともにインストールします。Server]をインストールします。これは、ポッドメトリックをスクレイピングするサーバーです。ポッドメトリックは、HPAが自動スケーリングが必要かどうかを判断するために使用するメトリックを収集します。Serverをインストールするには、次のコマンドを実行します。Serverの最新の安定バージョンがインストールされます。metrics-server`を指定します。+`コマンドを使用してポッドのメトリックを表示してみてください。podこのコマンドは、クラスター内のリソース使用量をポッドレベルで表示することを目的としていますが、DOKSがDNSを処理する方法のため、このコマンドはこの時点でエラーを返します。Serverがホスト名を介してノードに接続するため、ホスト名が適切に解決されないために発生します。Serverがノードと通信する方法を変更します。+`セクションの下にフラグを追加します。+」を使用してノードに接続するようにメトリックサーバーに指示します。このフラグを回避策として使用して、内部IPアドレスを介してノードと通信できます。Serverがメトリックをスクレイピングするデフォルトのレートを変更します。+」ごとにメトリックをスクレイプするように依頼できます。これにより、期間ごとのリソース使用量のデータポイントが増えます。ニーズに合わせてこの解像度を自由に微調整してください。次の強調表示された行をファイルに追加します。.フラグを追加したら、エディターを保存して終了します。前と同様に、このコマンドはポッドレベルでのリソース使用量を提供します。今回は、稼働中のメトリックサーバーにより、各ポッドのメトリックを表示できます。Serverポッドが実行された状態で、次の出力が得られます。Serverが機能し、クラスター内のポッドのリソース使用状況を表示および監視できるようになりました。次に、このデータを監視し、CPU使用率が高い期間に対応するようにHPAを構成します。最後に、展開用の水平ポッドオートスケーラー(HPA)を作成します。Serverから収集されたCPU使用率データを定期的にチェックし、ステップ2で設定したしきい値に基づいて展開をスケーリングする実際のKubernetesオブジェクトです。+`コマンドを使用してHPAを作成します。“デプロイメントのHPAを作成します。+」フラグを使用して、「」をスケーリングできる最大レプリカを設定します。4+」として設定します。+`フラグは、ステップ2で設定した制限の使用率をHPAに通知して、オートスケールをトリガーさせます。これは、リクエストを使用して、最初のリソース割り当てに対応できるノードにスケールアップされたポッドをスケジュールするのにも役立ちます。+`に達すると、このコマンドは自動スケールをトリガーします。これにより、展開はCPUリソースを使い果たす前に自動スケーリングできます。展開が自動的にスケーリングできるようになったので、次はこれをテストします。検証するには、クラスターをしきい値を超える負荷を生成し、オートスケーラーが引き継ぐのを監視します。開始するには、2番目のターミナルを開いて、現在スケジュールされているポッドを監視し、2秒ごとにポッドのリストを更新します。+`コマンドを使用します。`コマンドは、引数として指定されたコマンドを継続的に発行し、ターミナルに出力を表示します。+」フラグでさらに設定できます。このチュートリアルでは、デフォルトの2秒の設定で十分です。+`の出力を表示し、その後2秒ごとにコマンドが生成する出力を更新します。これは次のようになります。2Mi`++`に現在デプロイされているポッドの数に注意してください。元の端末に切り替えます。`++`ポッド内でターミナルを開き、人為的な負荷を作成します。CLIツール]をインストールします。`+`ポッドの名前に置き換えます。」を使用して別のマシンにログインすることに非常に似ています。+`はポッドにbashシェルを確立します。+`パッケージをインストールします。」コマンドに戻ります。ServerがHPAの定義済みのしきい値を超えるCPUデータを収集するまで数分待ちます。+」に設定したレートで収集されます。使用メトリックが更新されるまで、1分程度かかる場合があります。`++`ポッドがスピンアップします。Serverによって収集されたCPU負荷に基づいて新しいポッドをスケジュールしたことがわかります。+`コマンドを停止し、ポッドのbashシェルを終了します。結論この記事では、CPU負荷に基づいて自動スケーリングするデプロイメントを作成しました。Serverをインストールおよび構成し、スケーリングの決定を行うためにHPAを作成しました。ServerとHPAの両方のデモ展開です。これで、特定のユースケースに合わせて構成を調整できます。HPAのドキュメントをhttps://kubernetes.io/docs/concepts/で参照してください。[リクエストと制限]。Serverプロジェクト]をチェックして、ユースケースに適用される可能性のある調整可能な設定をすべて確認してください。page]にアクセスするか、https://www.digitalocean.comをご覧ください。[マネージドKubernetesサービス]。