ARMS Prometheus を介して ACK Pro マネージドクラスターのコントロールプレーンを監視し、アクセスのベストプラクティスに従います。
前提条件
-
Kubernetes 1.16 以降を実行している ACK Pro マネージドクラスターでのみ利用可能です。
-
Application Real-Time Monitoring Service (ARMS) が有効化されていること。
-
ack-arms-prometheus アドオンまたは ack-arms-prometheus コンポーネントがインストールされていること。
コントロールプレーンコンポーネントのダッシュボードの表示
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、 を選択します。
-
Prometheus 監視 ページで、主要コンポーネントのモニタリング タブをクリックします。
このタブには、ACK Pro API server、ACK Pro etcd、ACK Pro kube-scheduler、ACK Pro cloud-controller-manager、および ACK Pro kube-controller-manager のダッシュボードが表示されます。
説明最新のダッシュボードを取得するには、ACK アドオン管理で ack-arms-prometheus アドオンを最新バージョンにアップグレードするか、ack-arms-prometheus コンポーネントを更新してください。
コントロールプレーンコンポーネントにアクセスするためのベストプラクティス
100 ノード以上、かつ多数の Kubernetes リソースを持つ大規模クラスターの安定性を向上させるには、コントロールプレーンコンポーネントにアクセスする際に、以下のプラクティスに従ってください。
-
API サーバーと etcd の負荷を軽減するには、informer と lister を使用してデータを読み取ってください。
-
完全な LIST 操作の場合、etcd の代わりに API サーバーキャッシュから読み取るには、
resourceVersion=0パラメーターを追加します。etcd から直接読み取るには、limitパラメーターでページ分割します。 -
JSON と比較してメモリと帯域幅を削減するには、API のシリアル化に
Protobufを使用してください。 詳細については、「リソースの代替表現」をご参照ください。 -
ConfigMaps、Secrets、PVC などの未使用の Kubernetes リソースをクリーンアップしてください。 保留中の Pod を 1,000 未満に維持してください。過剰な Pod は、kube-apiserver、kube-controller-manager、および kube-scheduler に過負荷をかけます。
-
コントロールプレーンのリソース使用量、特に CPU とメモリを監視してください。 持続的な高い使用率は OOM エラーを引き起こす可能性があります。 使用率が高いままの場合は、未使用のリソースをクリーンアップするか、クライアントの動作を最適化するか、ワークロードを複数のクラスターに分割してください。
-
一部のオープンソースコンポーネントは、コントロールプレーンに大きな負荷をかけます。 コミュニティの最適化ガイダンスに従ってください。 たとえば、Argo Workflows は API 負荷を軽減するための特定の設定を推奨します。Argo Workflows を使用する場合は、関連する設定を有効にしてください。 詳細については、「大規模なスケールでの実行」をご参照ください。
関連ドキュメント
|
コントロールプレーンコンポーネント |
ダッシュボード |
説明 |
関連ドキュメント |
|
kube-apiserver |
ACK Pro API server |
kube-apiserver のメトリクス、ダッシュボードの使用方法、およびトラブルシューティング。 |
|
|
cloud-controller-manager |
ACK Pro cloud-controller-manager |
cloud-controller-manager のメトリクス、ダッシュボードの使用方法、およびトラブルシューティング。 |
|
|
etcd |
ACK Pro etcd |
etcd のメトリクス、ダッシュボードの使用方法、およびトラブルシューティング。 |
|
|
kube-controller-manager |
ACK Pro kube-controller-manager |
kube-controller-manager のメトリクスとダッシュボードの使用方法。 |
|
|
kube-scheduler |
ACK Pro kube-scheduler |
kube-scheduler のメトリクス、ダッシュボードの使用方法、およびトラブルシューティング。 |
|
|
カスタム Prometheus モニタリングとアラート設定 |
カスタムダッシュボード名 |
セルフマネージド Prometheus インスタンスを使用して、API サーバー、etcd、kube-scheduler、KCM、CCM などの ACK Pro コントロールプレーンコンポーネントのメトリクスを収集し、アラートを設定します。 |
セルフマネージド Prometheus インスタンスを使用したコントロールプレーンコンポーネントのメトリクス収集とアラート設定 |