Kubernetes スケジューラの監視

最終更新日: 04 年 2024 月 XNUMX 日

Kubernetes スケジューラは Kubernetes のコア コンポーネントであり、利用可能なリソースと制約に基づいたスケジューリング プロセスを通じてポッドをノードに割り当てます。 Kubernetes Scheduler サービスを監視することは、リソースを効率的に使用し、許容可能なパフォーマンス レベルでリクエストを処理する能力を判断する上で非常に重要です。

重要: OpenShift、Amazon Elastic Kubernetes Service (EKS)、Google Kubernetes Engine (GKE)、Azure Kubernetes Service (AKS) などのマネージド サービスでは、Kubernetes コントロール プレーン コンポーネントが公開されていないため、Kubernetes スケジューラによる監視はサポートされていません。

Kubernetes スケジューラを使用する利点は次のとおりです。 

  • パフォーマンスチューニング— スケジューラは、制約とリソースに基づいて各ノードをランク​​付けし、各ポッドを最も一致するノードに関連付けます。 
  • 柔軟なフレームワーク— スケジューラは、フレームワークに新しいプラグインを追加できるプラグイン可能なフレームワーク アーキテクチャです。

Kubernetes スケジューラを監視するユースケース 

1 つのノードがあるとします。 ノード 2 とノード 1。Kubernetes API サーバーを介して同じポッド上で実行されます。 Kubernetes スケジューラは Kubernetes API サーバーと通信し、アフィニティ ルール、中央処理装置、またはメモリ パラメータに基づいて、ノード XNUMX がポッドに最適なペアであると判断します。 

Kubernetes スケジューラを監視するための要件

  • LM コンテナが有効になっていることを確認してください。
  • 有効にする Kubernetes_Schedulers 情報元。
    注: これはマルチインスタンス データソースであり、各インスタンスがスケジューラを示します。 このデータソースは、LM Exchange からダウンロードできます。 
  • バインド アドレスを特定の Kubernetes ポッドに変更してください。 デフォルト値は 0.0.0.0 です。 詳細については、次のバインドアドレス文字列を参照してください。 kubeスケジューラー Kubernetes ドキュメントより。 

Kubernetes スケジューラのセットアップ

インストール

Kubernetes スケジューラを使用するために、サーバーに個別にインストールする必要はありません。 LM Container のインストールの詳細については、次を参照してください。 LM Container Helm チャートのインストール or CLI を使用した LM Container Chart のインストール

 

Kubernetes スケジューラは事前に構成されています。 Kubernetes スケジューラのデータが表示されない場合は、次の手順を実行します。

  1. Kubernetes ポッドで、次の場所に移動します。 /etc/kubernetes/manifests.
  2. を開いて編集します kube-scheduler.yaml ファイルにソフトウェアを指定する必要があります。
  3. 以下のスクリーンショットに示すように、ジョブタイプを –バインドアドレス .spec.containers.command から 127.0.0.1 〜へ .status.podIP が kuber-scheduler ポッドに存在する.
  4. を助けて kube-scheduler.yaml ファイルにソフトウェアを指定する必要があります。

注: –bind-address が欠落している場合、スケジューラはデフォルト値 0.0.0.0 で実行を続けます。

自己実装スケジューラを監視するには、次の手順を実行します。

  1. LogicMonitorで、次の場所に移動します 設定 > データソース > Kubernetes スケジューラ データソースを選択します
  2. 「Kubernetes Scheduler DataSource」ページで、展開します。 アクティブディスカバリー.
  3.  計測パラメータ セクション、選択 埋め込み Groovy スクリプト オプションを選択します。 
  4.  Groovyスクリプト フィールドに、必要なコンポーネント名を入力します。 スケジューラ_ラベル アレイ。 
    Active Directoryページ
  5. 詳細 コレクター属性 とで Groovyスクリプト フィールドに、必要なコンポーネント名を入力します。 スケジューラ_ラベル アレイ。 
    コレクターの属性ページ
  6. 選択 Save Kubernetes スケジューラ データソースを保存します。

Kubernetes スケジューラの詳細の表示

Kubernetes スケジューラをサーバーにインストールして構成すると、関連するすべてのデータをサーバー上で表示できます。 リソース ページで見やすくするために変数を解析したりすることができます。

  1. LogicMonitorで、次の場所に移動します リソース > 必要な DataSource リソースを選択します.
    スケジューラリソースページ
  2. 選択 インフォ タブをクリックして、Kubernetes スケジューラのさまざまなプロパティを表示します。
    スケジューラ情報タブ
  3. 選択 アラート タブを使用して、Kubernetes スケジューラ リソースのステータスを確認するときに生成されたアラートを表示します。
    「アラート」タブ
  4. 選択 グラフ タブを使用して、Kubernetes スケジューラのステータスまたは詳細をグラフィカル形式で表示します。
    「スケジューラグラフ」タブ
  5. 選択 アラートチューニング タブをクリックして、アラートが生成されたデータポイントを表示します。 
    スケジューラの「アラート調整」タブ
  6. 選択 Rawデータ タブをクリックすると、インスタンスに対して定義されたものに対して返されたすべてのデータが表示されます。
    スケジューラーの「生データ」タブ
記事上で