すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:ACK Proクラスターで制御プレーンコンポーネントダッシュボードを表示する

最終更新日:Nov 14, 2024

このトピックでは、Container Service for Kubernetes (ACK) Proクラスターで制御プレーンコンポーネントダッシュボードを表示する方法について説明します。 このトピックでは、制御プレーンコンポーネントへのアクセスに関するベストプラクティスも提供します。

前提条件

  • 制御プレーンコンポーネントの監視機能は、バージョンが1.16以降のACK Proクラスターに適用されます。

  • アプリケーションリアルタイム監視サービス (ARMS) が起動されます。 詳しくは、「ARMS の有効化」をご参照ください。

  • ack-arms-prometheusコンポーネントがインストールされています。 詳細については、「コンポーネントの管理」をご参照ください。

コンポーネント平面コンポーネントダッシュボードの表示

  1. ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、[操作] > [Prometheusモニタリング] を選択します。

  3. On thePrometheusモニタリングページをクリックし、主要コンポーネントのモニタリングタブをクリックします。

    このページでは、ACK Pro API serverACK Pro ETCDACK Pro SchedulerACK Pro Cloud Controller Manager、およびACK Pro Kube Controller Managerのダッシュボードを表示できます。

    説明

    最新のPrometheusダッシュボードを使用するには、コンソールの [アドオン] ページからack-arms-prometheusを最新バージョンに更新します。 詳細については、「コンポーネントの管理」をご参照ください。

制御プレーンコンポーネントへのアクセスのベストプラクティス

100を超えるノードと大量のKubernetesリソースを含むACK Proクラスターの制御プレーンコンポーネントにアクセスする場合は、ベストプラクティスのルールに従うことをお勧めします。 これにより、クラスターの安定性が向上します。

  • InformerまたはListerを使用してAPIサーバーからデータを取得します。 これにより、APIサーバーとetcdの負荷を軽減できます。

  • すべてのデータを一覧表示する場合は、resourceVersion=0をリクエストに追加して、etcdがオーバーロードされた場合にAPIサーバーキャッシュからデータを取得することを推奨します。 etcdからデータを取得する場合は、ページごとに返されるエントリ数を制限するlimitオプションを追加することをお勧めします。

  • ProtobufをAPIシリアル化プロトコルとして使用すると、JSONと比較してメモリリソースとデータ転送が少なくて済みます。 詳細については、「リソースの代替表現」をご参照ください。 次のコードブロックに例を示します。

    kubeConfig, err := clientcmd.BuildConfigFromFlags(s.Master, s.Kubeconfig)
    if err != nil {
        return nil, err
    }
    kubeConfig.AcceptContentTypes = strings.Join([]string{runtime.ContentTypeProtobuf, runtime.ContentTypeJSON}, ",")
    kubeConfig.ContentType = runtime.ContentTypeProtobuf
    client, err := clientset.NewForConfig(restclient.AddUserAgent(kubeConfig, "content-type-example"))
    ...
  • できるだけ早い機会に、ConfigMaps、Secrets、永続ボリュームクレーム (PVC) などのアイドルKubernetesリソースを削除します。 これらのアイドルリソースは、保留中のポッドを作成できます。 クラスター内の保留中のポッドの数が1000を超えると、kube-apsierver、kube-controller-manager、およびkube-schedulerの安定性が影響を受けます。

  • 制御プレーンコンポーネントのリソース使用量、特にCPUとメモリ使用率のメトリックに細心の注意を払って、継続的な高リソース使用量によるメモリ不足エラーを防ぎます。 リソース使用率が高いままの場合は、無効なリソースを削除し、クライアントのアクションを最適化し、クラスター内のワークロードを分離することを推奨します。

  • 一部のオープンソースコンポーネントは、制御プレーンの負荷を大幅に増加させる可能性があります。 これらのコンポーネントの公式Webサイトで最適化ソリューションを見つけることができます。 たとえば、Argoワークフローは、Argoがビジー状態のときに圧倒されたKubernetes APIの問題を解決するソリューションを提供します。 詳細については、「大規模な実行」をご参照ください。

関連ドキュメント

制御プレーンコンポーネント

ダッシュボード

リファレンス紹介

リンク

Kube-apiserver

ACK Pro APIServer

kube-apiserverでサポートされているメトリックについて説明し、kube-apiserverのダッシュボードの使用に関する注意事項を示し、一般的なメトリック異常のトラブルシューティング方法を提案します。

kube-apiserver

cloud-controller-manager

ACK Pro Cloudコントローラマネージャ

cloud-controller-manangerでサポートされているメトリックについて説明し、cloud-controller-managerのダッシュボードの使用に関する注意事項を示し、一般的なメトリック異常のトラブルシューティング方法を提案します。

cloud-controller-managerのメトリック

etcd

ACKプロETCD

etcdでサポートされているメトリックについて説明し、etcdのダッシュボードの使用状況に関するメモを提供し、一般的なメトリック異常のトラブルシューティング方法を提案します。

メトリックのetcd

kube-controller-manager

ACK Pro Kubeコントローラマネージャ

kube-controller-managerでサポートされているメトリックについて説明し、kube-controller-managerのダッシュボードの使用状況に関する注意事項を示します。

kube-controller-managerのメトリック

kube-scheduler

ACK Proスケジューラ

kube-schedulerでサポートされているメトリックについて説明し、kube-schedulerのダッシュボードの使用に関する注意事項を示し、一般的なメトリックの異常をトラブルシューティングする方法を提案します。

kube-schedulerのメトリック

カスタムPrometheusモニタリングとアラート

カスタムダッシュボード名

ACK Proクラスター内のkube-apiserver、etcd、kube-scheduler、cloud-controller-manager、kube-controller-managerから自己管理されたPrometheusシステムにメトリックを収集し、推奨されるアラート設定を提供する方法について説明します。

自己管理型Prometheusシステムを使用して、制御プレーンコンポーネントのモニタリングとアラートを設定